Page 3 - Contents; Dialogic
Dialogic ® Global Call IP Technology Guide – November 2007 3 Dialogic Corporation Contents Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 About This Publication . . . . . . . . . . . . . . . . . . . . . . ...
Page 4 - IP-Specific Operations
4 Dialogic ® Global Call IP Technology Guide – November 2007 Dialogic Corporation Contents 3.2.2 Endpoint Behavior in H.450.2 Blind Call Transfers . . . . . . . . . . . . . . . . . . . . . . . . 57 3.2.3 Successful H.450.2 Blind Call Transfer Scenario . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 7 - Third Party Call Control (3PCC) Operations and Multimedia Support
Dialogic ® Global Call IP Technology Guide – November 2007 7 Dialogic Corporation Contents 4.26.2 Specifying Manual Operating Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3224.26.3 Initiating a Switch from Audio to T.38 Fax . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 8 - IP-Specific Function Information
8 Dialogic ® Global Call IP Technology Guide – November 2007 Dialogic Corporation Contents 7.2 Configuring the Logging Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3787.2.1 Configuration File Overview. . . . . . . . . . . . . . . . . . . . . . . . ...
Page 9 - IP-Specific Parameters
Dialogic ® Global Call IP Technology Guide – November 2007 9 Dialogic Corporation Contents 8.3.28 gc_Stop( ) Variances for IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4948.3.29 gc_UnListen( ) Variances for IP . . . . . . . . . . . . . . . . . . . . . . . . . ...
Page 10 - IP-Specific Event Cause Codes
10 Dialogic ® Global Call IP Technology Guide – November 2007 Dialogic Corporation Contents IP_REGISTER_ADDRESS – gatekeeper registration information . . . . . . . . . . . . . . . . . . 550IP_TUNNELPROTOCOL_ALTID – TSM protocol alternate ID. . . . . . . . . . . . . . . . . . . . . 551IP_TUNNELPROTOC...
Page 11 - Figures
Dialogic ® Global Call IP Technology Guide – November 2007 11 Dialogic Corporation Contents Figures 1 Typical H.323 Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2 H.323 Protocol Stack . . . . . . . . . . . . . . . . . . . ....
Page 13 - Tables
Dialogic ® Global Call IP Technology Guide – November 2007 13 Dialogic Corporation Contents Tables 1 Summary of Call-Related Information that can be Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2 Coders Supported for Dialogic® Host Media Processing (HMP) Software . . . . . . ....
Page 15 - Revision History
Dialogic ® Global Call IP Technology Guide — November 2007 15 Dialogic Corporation Revision History This revision history summarizes the changes made in each published version of this document. Document No. Publication Date Description of Revisions 05-2239-009 November 2007 Made global changes to re...
Page 25 - About This Publication; Purpose; Applicability
Dialogic ® Global Call IP Technology Guide — November 2007 25 Dialogic Corporation About This Publication The following topics provide information about this publication. • Purpose • Applicability • Intended Audience • How to Use This Publication • Related Information Purpose This publication docume...
Page 26 - How to Use This Publication
26 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation About This Publication • Original Equipment Manufacturers (OEMs) This publication assumes that the audience is familiar with the Windows ® operating system and has experience using the C programming language. How to U...
Page 29 - IP Overview; Introduction to VoIP; Codecs
Dialogic ® Global Call IP Technology Guide — November 2007 29 Dialogic Corporation 1 1. IP Overview This chapter provides overview information about the following topics: • Introduction to VoIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 •...
Page 32 - Provides a bit rate of 64 kbps.; Basic H.323 Call Scenario; A simple H.323 call scenario can be described in five phases:
32 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Overview The RTP and RTCP combination is for media handling only. As indicated in Figure 2, the media part of the H.323 protocol is carried over UDP and therefore there is no guarantee that all packets will arrive ...
Page 33 - Call Setup
Dialogic ® Global Call IP Technology Guide — November 2007 33 Dialogic Corporation IP Overview Call Setup Establishing a call between two endpoints nominally requires two TCP connections between the endpoints: • one TCP connection for the call setup (Q.931/H.225 messages) • one TCP connection for ca...
Page 34 - Call Initiation; Section 4.2, “Fast and Slow Call Setup Modes”; Data Exchange
34 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Overview • Connect This connection remains active for the entire duration of the call. The control channel is unique for each call between endpoints so that several different media streams can be present. An H.245 ...
Page 35 - Registration with a Gatekeeper; admission control for authorizing network access; Gatekeeper Discovery; An endpoint uses a process called
Dialogic ® Global Call IP Technology Guide — November 2007 35 Dialogic Corporation IP Overview EndSessionCommand, waits until it receives the same message from endpoint B, then closes the channel. Either endpoint (but typically the endpoint that initiates the termination) then sends an H.225.0 Relea...
Page 36 - Endpoint Registration; Endpoint Deregistration; H.323 Call Scenario via a Gateway; While the call scenario described in
36 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Overview Endpoint Registration An endpoint uses a process called registration to join the zone associated with a gatekeeper. In the registration process, the endpoint informs the gatekeeper of its transport, alias ...
Page 37 - Figure 3. Basic H.323 Network with a Gateway; The call scenario in this example involves the following phases:; Establishing Contact with the Gatekeeper; a sequence number
Dialogic ® Global Call IP Technology Guide — November 2007 37 Dialogic Corporation IP Overview A gateway provides a bridge between different technologies; for example, an H.323 gateway (or IP gateway) provides a bridge between an IP network and the PSTN. Figure 3 shows a configuration that uses a ga...
Page 38 - Call Signaling and Data Exchange; Capability Exchange; Call Termination
38 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Overview • the type of call; in this case, point-to-point • the call model to use, either direct or gatekeeper-routed • the destination address; in this case, the phone number of endpoint B • an estimation of the a...
Page 39 - SIP Overview; Advantages of Using SIP; Some of the advantages of using SIP include:; SIP User Agents and Servers; Location Server
Dialogic ® Global Call IP Technology Guide — November 2007 39 Dialogic Corporation IP Overview When all channels between endpoint A and the gateway are closed, each must send a DisengageRequest (DRQ) message to the gatekeeper. This message lets the gatekeeper know that the bandwidth is being release...
Page 40 - Basic SIP Operation; Figure 4. Basic SIP Call Scenario; SIP Messages; SIP Request Messages
40 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Overview Redirect Server Accepts a request from a client and maps the address to zero or more new addresses and returns the new addresses to the client. The server does not accept calls or generate SIP requests on ...
Page 44 - Global Call API Over IP Architecture; Architecture Components; Host
44 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Dialogic ® Global Call API Architecture for IP Figure 5. Dialogic ® Global Call API Over IP Architecture To simplify IP Media management by the host application and to provide a consistent look and feel with other Dia...
Page 45 - Host Application
Dialogic ® Global Call IP Technology Guide — November 2007 45 Dialogic Corporation Dialogic ® Global Call API Architecture for IP 2.2.1 Host Application The host application manages and monitors the IP telephony system operations. Typically the application performs the following tasks: • initializes...
Page 46 - IP Media Call Control Library (IPM CCLib); Device Types and Usage; Device Types Used with IP; iptBx
46 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Dialogic ® Global Call API Architecture for IP 2.2.4 IP Media Call Control Library (IPM CCLib) The IP Media Call Control Library (IPM CCLib) performs the following tasks: • processes Dialogic ® Global Call API CCLib c...
Page 47 - Global Call API Devices; IPT Board Devices
Dialogic ® Global Call IP Technology Guide — November 2007 47 Dialogic Corporation Dialogic ® Global Call API Architecture for IP The IPT network device (iptBxTy) and the IP Media device (ipmBxCy) can be opened simultaneously in the same gc_OpenEx( ) command. If a voice resource is available in the ...
Page 48 - IPT Network Devices; devicename
48 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Dialogic ® Global Call API Architecture for IP opened simultaneously, etc. See Section 8.3.27, “gc_Start( ) Variances for IP” , on page 491 for more information on how to configure IPT board devices. Figure 7. Configu...
Page 49 - IPT Start Parameters
Dialogic ® Global Call IP Technology Guide — November 2007 49 Dialogic Corporation Dialogic ® Global Call API Architecture for IP • SIP only (P_SIP in the devicename string when opening the device) • Dual protocol, H.323 and SIP (P_IP in the devicename string when opening the device) The device type...
Page 51 - This chapter describes how to use the Dialogic
Dialogic ® Global Call IP Technology Guide — November 2007 107 Dialogic Corporation 4 4. IP-Specific Operations This chapter describes how to use the Dialogic ® Global Call API to perform certain operations in an IP environment. These operations include: • Call Control Library Initialization . . . ....
Page 52 - Call Control Library Initialization
108 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations • LAN Disconnection Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 • Setting Dialogic® IP Media Library Parameters . . . . . . . . . . . . ...
Page 53 - Setting a SIP Outbound Proxy; function. If both an IP address and a host
Dialogic ® Global Call IP Technology Guide — November 2007 109 Dialogic Corporation IP-Specific Operations For details on the overall configuration process, including the default values and the allowable values that can be set for each configuration item, see Section 8.3.27, “gc_Start( ) Variances f...
Page 54 - Configuring SIP Transport Protocol; When TCP is enabled, the Dialogic
110 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.1.2 Configuring SIP Transport Protocol When initializing a board device for use with SIP, the application can enable the use of the TCP transport protocol in addition to the default UDP trans...
Page 55 - Configuring TCP Transport
Dialogic ® Global Call IP Technology Guide — November 2007 111 Dialogic Corporation IP-Specific Operations SIP_maxUDPmsgLen Sets a maximum size for UDP messages. If TCP is enabled and the application attempts to send a message by UDP that exceeds the configured maximum size (default is 1300 as sugge...
Page 56 - Transport Parameter Combinations without Proxy; All Requests UDP
112 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations // set outbound proxy by IP AddressvirtBoards[0].outbound_proxy_IP.ip_ver = IPVER4;virtBoards[0].outbound_proxy_IP.u_ipaddr.ipv4 = inet_addr("192.168.1.227"); // set outbound proxy port...
Page 57 - Selected Requests UDP; Transport Parameter Combinations with Proxy; All Requests UDP via Proxy
Dialogic ® Global Call IP Technology Guide — November 2007 113 Dialogic Corporation IP-Specific Operations Selected Requests UDP Transport Parameter Combinations with Proxy All Requests UDP via Proxy Requests are sent UDP to the proxy, and the proxy sends the request onward using UDP (unless the pro...
Page 58 - Selected Requests TCP via Proxy; Invalid Transport Parameter Combinations; TCP is not enabled
114 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations Selected Requests TCP via Proxy Selected requests are sent TCP to the proxy, and the proxy sends the request onward using TCP. Other requests are sent UDP to proxy, and are sent onward using UD...
Page 59 - cannot; Fast and Slow Call Setup Modes; Setting the Call Setup Mode
Dialogic ® Global Call IP Technology Guide — November 2007 115 Dialogic Corporation IP-Specific Operations For incoming calls, tunneling is enabled by default, but it can be configured on a board device level (where a board device is a virtual entity that corresponds to a NIC or NIC address; see Sec...
Page 60 - duration; H.323 Fast Start and Slow Start; fastStart
116 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations The scope of the mode setting is determined by which Global Call function the application passes the GC_PARM_BLK to: • gc_SetConfigData( ) sets the slow start mode as the default for the entire...
Page 61 - H.323 Fast Start with Optional H.245 Channel
Dialogic ® Global Call IP Technology Guide — November 2007 117 Dialogic Corporation IP-Specific Operations Fast start connection, on the other hand, reduces the time required to set up a call to one round-trip of delay after the H.225 TCP connection is established by “piggy-backing” the local endpoi...
Page 62 - SIP Call Setup Modes
118 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations • gc_MakeCall( ) sets the specified H.245 mode for the new call only. When the application specifies that the H.245 channel is optional, channel establishment proceeds normally with the exchang...
Page 63 - Retrieving Coder Information from Call Offers; Enabling Access to “Fast Start” Coder Information
Dialogic ® Global Call IP Technology Guide — November 2007 119 Dialogic Corporation IP-Specific Operations SIP uses the term delayed offer to refer to cases where the INVITE does not include the SDP offer, which corresponds to a “slow start” connection mode. When the calling party in a SIP call uses...
Page 64 - Accessing “Fast Start” Coder Information; Information”
120 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations The defined mask values that are used to enable access to fast start coder information are: IP_SIP_FASTSTART_CODERS_IN_OFFERED when OR’ed into the sip_msginfo_mask field, enables application ac...
Page 65 - Setting Call-Related Information; The Dialogic
Dialogic ® Global Call IP Technology Guide — November 2007 121 Dialogic Corporation IP-Specific Operations When all of these conditions are true, the extra data associated with the GCEV_OFFERED event will be a GC_PARM_BLK that contains one or more parameter elements of the following type: IPSET_CALL...
Page 66 - Overview of Setting Call-Related Information; Table 1. Summary of Call-Related Information that can be Set
122 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.3.1 Overview of Setting Call-Related Information Table 1 summarizes the types of information elements that can be specified, the corresponding set IDs and parameter IDs used to set the inform...
Page 68 - Setting Call Parameters on a System-Wide Basis; Setting Call Parameters on a Per Call Basis
124 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.3.1.1 Setting Call Parameters on a System-Wide Basis The gc_SetConfigData( ) function is used to configure call-related parameters, such as coder information, for the entire system. The value...
Page 69 - Setting Coder Information
Dialogic ® Global Call IP Technology Guide — November 2007 125 Dialogic Corporation IP-Specific Operations • Using gc_MakeCall( ) Setting Per-Call Call Parameters Using gc_SetUserInfo( ) The gc_SetUserInfo( ) function (with the duration parameter set to GC_SINGLECALL) can be used to set call paramet...
Page 71 - Specifying Media Capabilities Before Connection; Table 2. Coders Supported for Dialogic
Dialogic ® Global Call IP Technology Guide — November 2007 127 Dialogic Corporation IP-Specific Operations See the reference page for IP_CAPABILITY on page 543 for more information. Table 2 shows the coders that are supported when using the Dialogic ® Global Call API with Dialogic ® Host Media Proce...
Page 72 - Resource Allocation When Using Low-Bit Rate Coders
128 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations gc_AcceptCall( ) to get maximum benefit from Global Call’s early media support. Capability types can be GCCAPTYPE_AUDIO and/or GCCAPTYPE_RDATA. The session capabilities that can result when dif...
Page 75 - Connection Phase Messages; Setting and Retrieving Disconnect Cause or Reason Values
Dialogic ® Global Call IP Technology Guide — November 2007 131 Dialogic Corporation IP-Specific Operations IPSET_NONSTANDARDCONTROL IPPARM_H221NONSTANDARD • value = IP_H221NONSTANDARD structure See Section 9.2.17, “IPSET_NONSTANDARDCONTROL” , on page 525 for more information. The following code exam...
Page 76 - cause; Setting Busy Reason Codes; Setting SIP Busy Code
132 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.4.1 Setting and Retrieving Disconnect Cause or Reason Values Use the cause parameter in the gc_DropCall( ) function to specify a disconnect reason/cause to be sent to the remote endpoint. Not...
Page 77 - Setting H.323 Busy Code
Dialogic ® Global Call IP Technology Guide — November 2007 133 Dialogic Corporation IP-Specific Operations By default, Global Call automatically responds with a 486 Busy Here when additional incoming call requests arrive after the maximum number of SIP calls per virtual board has been reached. A 480...
Page 78 - first; 82 Queued response for a given call.
134 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations The following code snippet illustrates how to set the H.323 busy code: #include "gclib.h" . ./* configure H.323 Busy Reason Code to 34 - "No Circuit/Channel Available" */ GC_PAR...
Page 79 - Retrieving Status-Code for 18x Provisional Responses; Section 4.9, “Setting and Retrieving SIP Message Header Fields”
Dialogic ® Global Call IP Technology Guide — November 2007 135 Dialogic Corporation IP-Specific Operations 4.4.3.1 Retrieving Status-Code for 18x Provisional Responses When using SIP, each GCEV_ALERTING event will have an associated GC_PARM_BLK that contains the specific status code for the 18x prov...
Page 80 - Redirecting an Incoming Call
136 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.4.4 SIP Redirection (3xx) Response Messages RFC 3261 defines the 3xx range of responses as redirection messages, which can be used by the called party’s server to push alternative routing inf...
Page 82 - Receiving and Handling a Redirect Response
138 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations Via: SIP/2.0/UDP 146.152.84.1:5060;received=146.152.84.2;branch=z9hG4bK-28795-9e19f19-554d9dc4Supported: replacesContact: "forward1" <sip:[email protected]>;q=0.7;expires=36...
Page 84 - SIP Rejection Responses; The information in this section only applies when the Dialogic
140 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations if ( HeaderName != NULL && 0==_stricmp(HeaderName,"contact") && (HeaderData != NULL) && (HeaderDataSize != 0) ) { ptr = strchr(HeaderData,'<'); redirectURI=pt...
Page 85 - Retrieving Current Call-Related Information
Dialogic ® Global Call IP Technology Guide — November 2007 141 Dialogic Corporation IP-Specific Operations This alternative response to media session proposals is enabled using the gc_SetConfigData( ) function, passing it a GC_PARM_BLK that includes the following parameter: IPSET_CONFIG IPPARM_1PCC_...
Page 86 - parmblkp
142 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 2. Use the gc_Extension( ) function to request the data. The parameters for this call should be specified as follows: • target_type should be GCTGT_GCLIB_CRN • target_id should be the actual CR...
Page 87 - Table 4. Retrievable Call Information
Dialogic ® Global Call IP Technology Guide — November 2007 143 Dialogic Corporation IP-Specific Operations Table 4. Retrievable Call Information Parameter Set ID and Parameter ID(s) When Information Can Be Retrieved Datatype in value_buf Field (see Note 1) SIP/ H.323 Call ID IPSET_CALLINFO • IPPARM_...
Page 89 - Examples of Retrieving Call-Related Information; extID; Table 4, “Retrievable Call Information”; Specifying Call-Related Information to Retrieve
Dialogic ® Global Call IP Technology Guide — November 2007 145 Dialogic Corporation IP-Specific Operations will not contain the requested information. If phone list and display information are requested and only phone list is available, then only phone list information is available in the GC_PARM_BL...
Page 92 - Event
148 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations Extracting Call-Related Information Associated with an Extension Event The following code demonstrates how an application can extract call information when a GCEV_EXTENSIONCMPLT event is receiv...
Page 95 - Retrieving Call ID
Dialogic ® Global Call IP Technology Guide — November 2007 151 Dialogic Corporation IP-Specific Operations case IPSET_MSG_Q931: switch (parmp->parm_ID) { case IPPARM_MSGTYPE: switch ((*(int *)(parmp->value_buf))) { case IP_MSGTYPE_Q931_FACILITY: printf("\tReceived extension data IP_MSGTYPE...
Page 96 - Parsing Call ID Information (SIP Protocol); call when the SIP protocol is being used.
152 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations #include <stdio.h>#include <srllib.h>#include <gclib.h>#include <gcerr.h>#include <gcip.h> /* * Assume the 'crn' parameter holds the CRN associated * with the dete...
Page 98 - Receiving Notification Events; Enabling and Disabling Unsolicited Notification Events; Status and Connection Information”; size
154 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.6 Receiving Notification Events Note: The information in this section only applies when the Dialogic ® Global Call API IP call control library is started in the first party call control (1PCC...
Page 100 - RTP Address and Coder Information Retrieval Example
156 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations • IPPARM_RX_RECVONLY – Media streaming has been initiated for a half-duplex receive-only connection. The parameter value is an IP_CAPABILITY structure containing the coder configuration that re...
Page 101 - Getting Notification of Underlying Protocol State Changes; Disabling Unsolicited Notification Events”; Modifying an Existing SIP Call via re-INVITE; This section discusses the Dialogic
Dialogic ® Global Call IP Technology Guide — November 2007 157 Dialogic Corporation IP-Specific Operations else { //only get tx or rx, not both l_pParmData = gc_util_find_parm(gcParmBlk, IPSET_MEDIA_STATE, IPPARM_RX_CONNECTED); if(l_pParmData != NULL) { memcpy(&l_IPCap, l_pParmData->value_buf...
Page 102 - Overview of the SIP re-INVITE Method; Global Call API library for Dialogic
158 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations • Receiving SIP re-INVITE Requests • Responding to SIP re-INVITE Requests • Sending a SIP re-INVITE Request • Canceling a Pending re-INVITE Request • Updating Dialog Properties via re-INVITE • ...
Page 103 - Enabling Application Access to re-INVITE Requests
Dialogic ® Global Call IP Technology Guide — November 2007 159 Dialogic Corporation IP-Specific Operations • changing between audio and T.38 fax modes Note: The existing automatic and manual modes for audio/T.38 switching (as described in Section 4.26, “T.38 Fax Server” ) have used re-INVITE “under ...
Page 106 - Responding to SIP re-INVITE Requests; Rejecting a SIP re-INVITE Request; function to; Accepting a SIP re-INVITE Request; If the application calls
162 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations There will always be at least one of these parameter elements if the re-INVITE request contains an SDP offer (which is the typical case for re-INVITE requests). Note: SDP does not explicitly co...
Page 107 - Sending a SIP re-INVITE Request; produces
Dialogic ® Global Call IP Technology Guide — November 2007 163 Dialogic Corporation IP-Specific Operations To formulate a specific SDP answer, an application inserts appropriate media capability parameter elements into the GC_PARM_BLK parameter block that it passes to gc_AcceptModifyCall( ) . Each p...
Page 108 - Specifying DTMF Mode in a re-INVITE Request; value = complete header string, including header field name
164 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations The GC_PARM_BLK that the application constructs may contain three types of parameter elements. There may be an element to specify the DTMF mode, one or more elements to specify SIP header field...
Page 109 - Specifying Media Session Properties in a SIP re-INVITE; The parameter elements for media capabilities are of the form:; Canceling a Pending re-INVITE Request; The parameter element used to cancel a pending re-INVITE is:
Dialogic ® Global Call IP Technology Guide — November 2007 165 Dialogic Corporation IP-Specific Operations 4.7.5.3 Specifying Media Session Properties in a SIP re-INVITE If an application wishes to change any media session properties via a re-INVITE request, it must insert appropriate media capabili...
Page 110 - Updating Dialog Properties via re-INVITE
166 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations No other parameter elements can be present in the GC_PARM_BLK when canceling a re-INVITE request. 4.7.7 Updating Dialog Properties via re-INVITE Dialog properties that are specified in SIP mess...
Page 111 - Implementing Hold and Retrieve via SIP re-INVITE; Suspending RTP Streaming Only; . The parameter element conforms to the; Suspending RTP and RTCP Streaming; parameter element conforms to the following:
Dialogic ® Global Call IP Technology Guide — November 2007 167 Dialogic Corporation IP-Specific Operations if ( gc_ReqModifyCall (crn, parmblkp, EV_ASYNC) < 0) return FAILURE; gc_util_delete_parm_blk(parmblkp); } /* End of function. */ 4.7.8 Implementing Hold and Retrieve via SIP re-INVITE Either...
Page 112 - Retrieving a Held Call
168 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations GCSET_CHAN_CAPABILITY IPPARM_LOCAL_CAPABILITY • value = IP_CAPABILITY data structure with direction field set to IP_CAP_DIR_LCLRTPRTCPINACTIVE As in the similar case of suspending RTP only, all...
Page 113 - Setting and Retrieving Q.931 Message IEs; Enabling Access to Q.931 Message IEs; not
Dialogic ® Global Call IP Technology Guide — November 2007 169 Dialogic Corporation IP-Specific Operations the connection information from the original INVITE dialog (see Section 4.6.2, “Getting Media Streaming Status and Connection Information” , on page 155, for details). Alternatively, the applic...
Page 114 - Supported Q.931 Message IEs; outgoing; infoparmblkp; Retrieving Q.931 Message IEs; incoming; Table 5. Supported Q.931 Message Information Elements
170 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.8.2 Supported Q.931 Message IEs Table 5 shows the supported Q.931 message Information Elements (IEs), the parameter set ID and parameter ID that should be included in a GC_PARM_BLK when setti...
Page 115 - Common Usage Scenarios Involving Q.931 Message IEs; Table 7 shows how the Dialogic; Table 6. Supported IEs in Incoming Q.931 Messages
Dialogic ® Global Call IP Technology Guide — November 2007 171 Dialogic Corporation IP-Specific Operations Note: The application must retrieve the necessary IEs by copying them into its own buffer before the next call to gc_GetMetaEvent( ) . Once the next gc_GetMetaEvent( ) call is issued, the Q.931...
Page 116 - Setting and Retrieving SIP Message Header Fields; SIP Header Access Overview; Header Fields in Outgoing SIP Messages
172 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.9 Setting and Retrieving SIP Message Header Fields The Dialogic ® Global Call API supports the setting and retrieving of SIP message header fields in various SIP message types, including INFO...
Page 118 - Table 8. Common Header Fields in Outbound SIP Messages (Continued)
174 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations Diversion (URI separately accessible via field-specific parameter) INVITE gc_SetUserInfo( ) / gc_MakeCall( ) INFO, NOTIFY, SUBSCRIBE gc_Extension( ) Event NOTIFY, SUBSCRIBE gc_Extension( ) Expi...
Page 119 - Header Fields in Incoming SIP Messages; For incoming SIP messages, the Dialogic
Dialogic ® Global Call IP Technology Guide — November 2007 175 Dialogic Corporation IP-Specific Operations Header Fields in Incoming SIP Messages For incoming SIP messages, the Dialogic ® Global Call API library packages the header fields that the application has registered to receive as parameters ...
Page 120 - Table 9. Common Header Fields in Inbound SIP Messages (Continued)
176 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations Allow OPTIONS GCEV_EXTENSION if E_SIP_OPTIONS_Access is enabled Call-ID † INVITE GCEV_OFFERED INFO, NOTIFY, SUBSCRIBE GCEV_EXTENSION OPTIONS GCEV_EXTENSION if E_SIP_OPTIONS_Access is enabled Co...
Page 121 - API Functions for Long Header Values; Global Call API; Field-Specific Parameters for SIP Header Access; must
Dialogic ® Global Call IP Technology Guide — November 2007 177 Dialogic Corporation IP-Specific Operations API Functions for Long Header Values Because some SIP header fields (particularly those that allow multiple values to be contained in a single header field in a comma-delimited list) can be arb...
Page 123 - Enabling Access to SIP Header Information; Enabling Long Header Values
Dialogic ® Global Call IP Technology Guide — November 2007 179 Dialogic Corporation IP-Specific Operations 4.9.2 Enabling Access to SIP Header Information The ability to set and retrieve information from SIP message header fields is an optional feature that can be enabled or disabled at the time the...
Page 124 - Registering SIP Header Fields to be Retrieved
180 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations application requires the ability to send and receive SIP header fields that are longer than this default maximum length (up to a maximum of 4096 bytes), it can overwrite the default value after...
Page 127 - Setting SIP Header Fields for Outbound Messages; Section 4.9.4, “Registering SIP Header Fields to be Retrieved”; Table 8, “Common Header Fields in Outbound SIP Messages”
Dialogic ® Global Call IP Technology Guide — November 2007 183 Dialogic Corporation IP-Specific Operations 4.9.5 Setting SIP Header Fields for Outbound Messages Note that it is not necessary for applications to register in advance the header field types that it will be setting (as described in Secti...
Page 129 - Retrieving SIP Message Header Fields; “Enabling Access to SIP Header Information”
Dialogic ® Global Call IP Technology Guide — November 2007 185 Dialogic Corporation IP-Specific Operations #include "gclib.h"....GC_PARM_BLK *pParmBlock = NULL;char *pDestAddrBlk = "[email protected]\0"; char *pReqURI = "sip:[email protected]\0"; /* Insert SIP Request-URI *//* Add ...
Page 132 - SIP MIME Overview
188 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations 4.10 Using MIME Bodies in SIP Messages (SIP-T) When using SIP, the Dialogic ® Global Call API library supports the sending and receiving of messages that include a single-part or multipart MIME...
Page 133 - use the extended; Figure 47. SIP MIME Scenario for Normal Call Setup and Teardown
Dialogic ® Global Call IP Technology Guide — November 2007 189 Dialogic Corporation IP-Specific Operations message. If any of the MIME part header fields are longer than 255 bytes (up to the maximum size configured by the application in the max_parm_data_size field in IPCCLIB_START_DATA), the applic...
Page 134 - Figure 48. SIP MIME Scenario for Rejected Call
Figure 48. SIP MIME Scenario for Rejected Call Figure 49. SIP MIME GC_PARM_BLK Structure App GC App GC gc_MakeCall() with IPSET_MIME GCEV_OFFERED with IPSET_MIME GCEV_TASKFAIL with reason and IPSET_MIME gc_DropCall() gc_SetUserInfo() with IPSET_MIME INVITE with MIME 603 decline with MIME GCEV_DISCON...
Page 139 - Code Example
Code Example The following code example illustrates the retrieval of MIME information from a GCEV_OFFERED event. It prints out every MIME part header and MIME part body (except for any SDP) that exists in the SIP INVITE message. Note that the example uses the extended utility functions because the p...
Page 141 - Sending MIME Information; and
} } . . . return 0;} 4.10.4 Sending MIME Information Table 13 lists the Global Call functions that can be used to send SIP messages with MIME information using the IPSET_MIME parameter set ID in the attached GC_PARM_BLK. Except in the cases of and , sending a SIP message with MIME requires two funct...
Page 142 - Create MIME part structures
with IPSET_MIME_200OK_TO_BYE and MIME information set with IPSET_MIME are kept independent of each other on a given channel. The data that is to be sent in the MIME part body is copied into the message MIME part from an application buffer. The data in the buffer must match the data type that is spec...
Page 143 - Set/send message data and clean up; or; because the Content-Type and Content-Disposition header strings
2. Insert a required IPPARM_MIME_PART parameter to point to the GC_PARM_BLK structure for the first MIME part in the message using the function. 3. Repeat Step 2 for each additional MIME part, inserting the parameters in order of how the MIME parts should be organized in the message. Set/send messag...
Page 144 - MIME Error Conditions
/* Insert Body Size */gc_util_insert_parm_val(&pParmBlockB, IPSET_MIME, IPPARM_MIME_PART_BODY_SIZE, sizeof(unsigned long), strlen(pBody)); /* Insert MIME part Body Pointer */gc_util_insert_parm_val(&pParmBlockB, IPSET_MIME, IPPARM_MIME_PART_BODY, sizeof(unsigned long), (unsigned long)pBody);...
Page 145 - Specifying Transport for SIP Messages; Protocol”
If the MIME memory pool is empty, or if the configured MIME buffer size is smaller than the MIME body of an incoming SIP-T message, a GCEV_TASKFAIL event is sent to the application with the reason set to IPEC_MIME_POOL_EMPTY or IPEC_MIME_BUFF_TOO_SMALL, respectively. In addition, these error conditi...
Page 146 - Handling SIP Transport Failures; configuration enables all allowable retries.
for user persistence. Second, a default transport protocol setting of TCP or a “;transport=tcp” parameter in the Request-URI header field is not sufficient to force TCP for a BYE request. Instead, it is necessary to also set “;transport=tcp” in the Contact URI header field. Due to network conditions...
Page 149 - Sending and Receiving SIP INFO Messages; Global Call API library provides facilities; Sending an INFO Message; Section 4.9.5, “Setting SIP Header Fields for Outbound Messages”
default: printf(" Received Unknown Error cause\n"); break; }} 4.13 Sending and Receiving SIP INFO Messages The SIP INFO message (as specified in IETF RFC 2976) provides a means for transporting application-level, session-related control information along the SIP signaling path after the setu...
Page 150 - Receiving a Response to an INFO Message
in the function call must be GCTGT_GCLIB_CRN, and the t must be the CRN handle for the current call. The following standard header fields are generally required for INFO messages: • To • From • Contact • Request-URI • Diversion • Call-ID If the application does not explicitly set the Request-URI, th...
Page 151 - call is
The GC_PARM_BLK associated with Extension event will contain a parameter element as follows: ID IPSET_MSG_SIP ID IPPARM_MSGTYPEand one of the following values: • IP_MSGTYPE_SIP_INFO_OK • IP_MSGTYPE_SIP_INFO_FAILED The application can also retrieve the specific SIP response code from the Extension ev...
Page 152 - Receiving an INFO Message; Message Header Fields”
4.13.3 Receiving an INFO Message When the SIP stack receives an incoming SIP INFO message, it generates a GCEV_CALLINFO event to the application. The application can extract standard message header fields from the parameter block associated with the GCEV_CALLINFO event using the technique described ...
Page 153 - Responding to an INFO Message; Global Call API library fills in the default value 200.; “OK” Response to INFO Message
4.13.4 Responding to an INFO Message Once an application has received a GCEV_CALLINFO event for a SIP INFO message and extracted the information from the event, it must send a response message. The response is sent by passing a GC_PARM_BLK containing the following parameter element to the function: ...
Page 154 - Sending and Receiving SIP OPTIONS Messages; The following topics describe the Dialogic; Default OPTIONS Behavior; Global Call API library responds to incoming OPTIONS requests
gc_util_insert_parm_val(&parmblkp, IPSET_MSG_SIP, IPPARM_MSGTYPE, sizeof(int), IP_MSGTYPE_SIP_INFO_FAILED); // Insert SIP response codegc_util_insert_parm_val(&parmblkp, IPSET_MSG_SIP, IPPARM_MSG_SIP_RESPONSE_CODE, sizeof(int), 501); // transmit INFO response message to network retval = gc_E...
Page 155 - Enabling Application Access to OPTIONS Messages
When Global Call automatically responds to an incoming OPTIONS request, there are two possibilities: • If a channel is available to handle the incoming request, Global Call sends a 200 OK message that includes an SDP message body (Content-Type: application/sdp) which indicates the same capabilities ...
Page 156 - SIP Header Fields to be Retrieved”; Sending OPTIONS Requests
INIT_IPCCLIB_START_DATA(&ipcclibstart, 2, ip_virtboard); INIT_IP_VIRTBOARD(&ip_virtboard[0]); INIT_IP_VIRTBOARD(&ip_virtboard[1]); ip_virtboard[0].sip_msginfo_mask = IP_SIP_MSGINFO_ENABLE | IP_SIP_MIME_ENABLE; ip_virtboard[1].sip_msginfo_mask = IP_SIP_MSGINFO_ENABLE | IP_SIP_MIME_ENABLE;...
Page 157 - “Setting SIP Header Fields for Outbound Messages”
The following parameters IDs are used with the IPSET_SIP_MSGINFO parameter set ID to set the header fields in the OPTIONS message, using the general techniques described in Section 4.9.5, “Setting SIP Header Fields for Outbound Messages” : If the IP Call Control library was started in the first part...
Page 159 - Receiving Responses to OPTIONS Requests
4.14.4 Receiving Responses to OPTIONS Requests When the Dialogic ® Global Call API library’s SIP stack receives a response to a SIP OPTIONS request, it generates a GCEV_EXTENSION event of type IPEXTID_RECEIVEMSG. The GC_PARM_BLK associated with the Extension event will contain a parameter element as...
Page 160 - Contact URI
• Contact URI The application must retrieve the necessary SIP message header and body information by copying it into its own buffer before the next call to gc_GetMetaEvent( ) . Once the next gc_GetMetaEvent( ) call is issued, the message information is no longer available from the metaevent buffer. ...
Page 161 - Receiving OPTIONS Requests; Fields”
4.14.5 Receiving OPTIONS Requests When the Dialogic ® Global Call API library is started with the IP_VIRTBOARD.E_SIP_OPTIONS_Access field set to ENUM_Enabled (to allow application access to OPTIONS requests), the library will act in one of two ways when the SIP stack receives a SIP OPTIONS request: ...
Page 162 - Responding to OPTIONS Requests; use the; “Success” Response Message
case GCEV_EXTENSION: if( pextensionBlk->ext_id== IPEXTID_RECEIVEMSG) { while ((l_pParm = gc_util_next_parm(pParmBlock, l_pParm )) != 0) { int l_mtype= (int)(*( l_pParm->value_buf)); switch (l_pParm->set_ID) { case IPSET_MSG_SIP: if(l_pParm ->parm_ID == IPPARM_MSGTYPE) { if(l_mtype== IP_M...
Page 164 - “Failed” Response Message; When sending the response message, the application; include the Call-ID header field value
gc_util_insert_parm_ref_ex(&parmblkp, IPSET_SIP_MSGINFO, IPPARM_SIP_HDR, (unsigned long)(strlen(szAcceptE)+1), szAcceptE); gc_util_insert_parm_ref_ex(&parmblkp, IPSET_SIP_MSGINFO, IPPARM_SIP_HDR, (unsigned long)(strlen(szAcceptL)+1), szAcceptL); gc_util_insert_parm_ref_ex(&parmblkp, IPSE...
Page 166 - Using SIP SUBSCRIBE and NOTIFY Messages; with Ringing”
4.15 Using SIP SUBSCRIBE and NOTIFY Messages The SIP SUBSCRIBE and NOTIFY methods (as documented in IETF RFC 3265) provide a basic mechanism for event notification between nodes. In the most basic implementation, an entity on a network can use the SUBSCRIBE request to communicate its interest in cer...
Page 167 - Sending SUBSCRIBE Requests; function to send the message. The header may include any
The following code snippet provides an example of enabling message header and body access for two virtual boards: INIT_IPCCLIB_START_DATA(&ipcclibstart, 2, ip_virtboard); INIT_IP_VIRTBOARD(&ip_virtboard[0]); INIT_IP_VIRTBOARD(&ip_virtboard[1]); ip_virtboard[0].sip_msginfo_mask = IP_SIP_M...
Page 169 - Receiving Responses to SUBSCRIBE Requests
// Insert SIP Event field if (pEvent) { gc_util_insert_parm_ref_ex(&parmblkp, IPSET_SIP_MSGINFO, IPPARM_EVENT_HDR, (unsigned long)(strlen(pEvent)), pEvent); } // Insert SIP Call ID field if (pCallID) { gc_util_insert_parm_ref-ex(&parmblkp, IPSET_SIP_MSGINFO, IPPARM_CALLID_HDR, (unsigned long...
Page 172 - Receiving SUBSCRIBE Requests
switch (parmp->parm_ID) { case IPPARM_REQUEST_URI: strncpy(requestURI,(char*)parmp->value_buf,parmp->value_size); requestURI[parmp->value_size]='\0'; break; case IPPARM_CONTACT_URI: strncpy(contactURI,(char*)parmp->value_buf,parmp->value_size); contactURI[parmp->value_size]='\0'...
Page 173 - “Receiving Responses to SUBSCRIBE Requests”; Responding to SUBSCRIBE Requests; include the Call-ID header field value that was received in the; “Accept” response to SUBSCRIBE request
A code example that illustrates the general procedure for retrieving information from all incoming messages associated with the SUBSCRIBE and NOTIFY methods is included in Section 4.15.2, “Receiving Responses to SUBSCRIBE Requests” , on page 225. 4.15.4 Responding to SUBSCRIBE Requests Once an appli...
Page 174 - “Reject” response to SUBSCRIBE request
// Insert SIP Call ID field gc_util_insert_parm_ref_ex(&parmblkp, IPSET_SIP_MSGINFO, IPPARM_CALLID_HDR, (unsigned long)(strlen(m_CurrentCallID)), m_CurrentCallID); if (parmblkp == NULL) { // memory allocation error return; } // transmit NOTIFY message to network retval = gc_Extension(GCTGT_GCLIB...
Page 175 - Sending NOTIFY Requests
// transmit NOTIFY message to network retval = gc_Extension(GCTGT_GCLIB_CHAN, boardh, IPEXTID_SENDMSG, parmblkp, &retblkp, EV_ASYNC); if (retval != GC_SUCCESS) { gc_ErrorInfo( &gc_error_info ); printf ("Error : gc_Extension() on HANDLE: 0x%lx, GC ErrorValue: 0x%hx - %s, CCLibID: %i - %s,...
Page 178 - Receiving Responses to NOTIFY Requests
// transmit NOTIFY message to network retval = gc_Extension(GCTGT_GCLIB_CHAN, hsendboard, IPEXTID_SENDMSG, parmblkp, &retblkp, EV_ASYNC); if (retval != GC_SUCCESS) { gc_ErrorInfo( &gc_error_info ); printf ("Error : gc_Extension() on HANDLE: 0x%lx, GC ErrorValue: 0x%hx - %s, CCLibID: %i -...
Page 179 - Receiving NOTIFY Requests; Responding to NOTIFY Requests
4.15.7 Receiving NOTIFY Requests When the SIP stack receives a SIP NOTIFY request, the Dialogic ® Global Call API library generates an Extension event (GCEV_EXTENSION) of type IPEXTID_RECEIVEMSG. The data associated with this Extension event contains a parameter element as follows: IPSET_MSG_SIP IPP...
Page 180 - “Accept” Response to NOTIFY Request
For an “Accept” response the message sent is a 200 OK, while “Reject” sends a 501 response. In either case, the response message must include the Call-ID header that was received in the NOTIFY request. The following two code snippets illustrate how an application would send “Accept” and “Reject” res...
Page 181 - “Reject” Response to NOTIFY Request; Handling DTMF; DTMF handling is described under the following topics:
“Reject” Response to NOTIFY Request void CSubNotMgr::SendSIPNotifyReject (void){ char str[MAX_STRING_SIZE]; sprintf(str, "<--- Sending SIP NOTIFY Reject\n"); printandlog(ALL_DEVICES, MISC, NULL, str, 0); GC_PARM_BLKP parmblkp = NULL; // input parameter block pointer GC_PARM_BLKP retblkp =...
Page 182 - Generating or Detecting DTMF Tones Using a Voice Resource; Specifying DTMF Support; Bitmask values for SIP; Bitmask values for H.323
• Generating or Detecting DTMF Tones Using a Voice Resource 4.16.1 Specifying DTMF Support The Dialogic ® Global Call API can be used to configure which DTMF transmission modes are supported by the application. The DTMF mode can be specified in one of three ways: • for all line devices simultaneousl...
Page 184 - any value in the range 96 to 127 – (dynamic payload type; Getting Notification of DTMF Detection; Once DTMF support has been configured (see; Table 14. Summary of DTMF Mode Settings and Behavior
When using RFC 2833, the payload type is specified using the following parameter element: IPSET_DTMF IPPARM_DTMF_RFC2833_PAYLOAD_TYPand one of the following values: • IP_USE_STANDARD_PAYLOADTYPE – (default payload type (101) • any value in the range 96 to 127 – (dynamic payload type 4.16.2 Getting N...
Page 185 - and Disabling Unsolicited Notification Events”; Generating DTMF
digits are detected. The events for this notification must be enabled; see Section 4.6.1, “Enabling and Disabling Unsolicited Notification Events” , on page 154. Once the events are enabled, when an incoming DTMF digit is detected, the application receives a GCEV_EXTENSION event, with an extID of IP...
Page 187 - “IPSET_NONSTANDARDDATA”
4.17.1 Nonstandard UII Message (H.245) To send nonstandard UII messages, use the gc_Extension( ) function in asynchronous mode with an ext_id (extension ID) of IPEXTID_SENDMSG. The target_type should be GCTGT_GCLIB_CRN and the target_id should be the actual CRN. The GC_PARM_BLK must contain paramete...
Page 189 - Nonstandard Registration Message
EXTENSIONEVTBLK structure which in turn contains a GC_PARM_BLK that includes all of the data in the message. See Section 9.2.14, “IPSET_MSG_Q931” , on page 523 and Section 9.2.18, “IPSET_NONSTANDARDDATA” , on page 526 for more information. The following code shows how to set up and send a Q.931 nons...
Page 190 - Sending Facility, UII, or Registration Message Scenario
The parameter element that identifies the message type is: IPSET_MSG_REGISTRATION IPPARM_MSGTYPE • value = IP_MSGTYPE_REG_NONSTD The parameter element for the Nonstandard Data data is: IPSET_NONSTANDARDDATA IPPARM_NONSTANDARDDATA_DATA • value = Nonstandard Data string, max length = max_parm_data_siz...
Page 191 - Figure 50. Sending Protocol Messages; Using H.323 Annex M Tunneled Signaling Messages; Tunneled Signaling Message Overview; Global Call API library does not support
An H.245 UII message can only be sent when a call is in the connected state. A Q.931 nonstandard facility message can be sent in any call state. Figure 50. Sending Protocol Messages 4.18 Using H.323 Annex M Tunneled Signaling Messages The Dialogic ® Global Call API IP call control library supports t...
Page 192 - Tunneled Signaling Messages”
248 Dialogic Corporation The Dialogic ® Global Call API library supports the ability to send and receive tunneled signaling messages in supported H.225 message types as an optional feature that is disabled by default for backwards compatibility. The ability to send and receive TSMs can only be enabl...
Page 193 - Enabling Tunneled; Enabling Tunneled Signaling Messages
249 Dialogic Corporation corresponding H.225 message. The duration parameter in the gc_SetUserInfo( ) function must always be GC_SINGLECALL; TSM content cannot persist for more than one H.225 message. The gc_SetUserInfo( ) mechanism cannot be used to preset a tunneled signaling message to be sent in...
Page 194 - Composing Tunneled Signaling Messages; one
250 Dialogic Corporation 4.18.3 Composing Tunneled Signaling Messages The process of sending a tunneled signaling message begins by composing a GC_PARM_BLK that contains Global Call parameter elements for the message protocol, the message content, and any nonstandard data. The first parameter elemen...
Page 196 - Sending Tunneled Signaling Messages
252 Dialogic Corporation }else{ gc_util_insert_parm_ref(&gcParmBlk, IPSET_TUNNELEDSIGNALMSG, IPPARM_TUNNELEDSIGNALMSG_PROTOCOL_OBJECTID, (unsigned char)sizeof(IP_TUNNELPROTOCOL_OBJECTID), &tsmTpObjId); /* Note the use of the extended gc_util function because TSM data may exceed 255 bytes */g...
Page 197 - Sending a TSM in a Setup Message; ReleaseComplete Message
253 Dialogic Corporation Sending a TSM in a Setup Message Once the GC_PARM_BLK is composed, the block is included in a GC_MAKECALL_BLK structure via the intermediate GCLIB_MAKECALL_BLK structure, and that block is then passed as a parameter in a call to gc_MakeCall( ) . The Setup message that is sen...
Page 198 - Receiving Tunneled Signaling Messages
254 Dialogic Corporation Four of the supported H.225 message types are sent as a direct result of a specific Global Call function call for the CRN and require no other preparation after the gc_SetUserInfo( ) : • gc_AcceptCall( ) sends Alerting • gc_AnswerCall( ) sends Connected • gc_CallAck( ) sends...
Page 199 - ReleaseComplete, and Setup Messages
255 Dialogic Corporation Retrieving TSMs from Alerting, Connected, Proceeding, ReleaseComplete, and Setup Messages To retrieve TSM after receiving a Global Call state change event corresponding to an Alerting, Connected, Proceeding, ReleaseComplete, or Setup message, the application first constructs...
Page 201 - TSM Retrieval Code Example
257 Dialogic Corporation TSM Retrieval Code Example The following code example shows how an application might handle the process of requesting tunneled signaling message after it has received a Global Call event associated with one of the supported H.225 message types. GC_PARM_BLKP gcParmBlk = NULL;...
Page 203 - Enabling Reception of User-to-User Information; Table 18. H.225 Messages and Global Call Events for Receiving UU-IE
259 Dialogic Corporation An application has no ability to specify which H.225 message types it wishes to receive UU-IE in, and should therefore be capable of handling UU-IE contained in any of the specified H.225 message types. The maximum data length for the Global Call parameter used for the UU-IE...
Page 204 - method and the
260 Dialogic Corporation 4.19.2 Retrieving UU-IEs Once the UU-IE access feature is enabled, any User-to-User Information Element received in a supported message type is made available to the application as a parameter element in a GC_PARM_BLK that is associated with metaevent for one of the Global C...
Page 205 - Retrieving UU-IE from Facility Messages
261 Dialogic Corporation Retrieving UU-IE from Facility Messages Because there is no Global Call state change event associated with a Facility message, a slightly different retrieval mechanism applies to this message type. In the case of a Facility message, the UU-IE is sent to the application in an...
Page 206 - Specifying RTP Stream Establishment
262 Dialogic Corporation default: // Since UUIE data can be present only for the above mentioned events, // return from the fuction for all other events. printf("UUIE retrieval is not supported for this type of event.\n"); return(-1); break; } // Initialize the GC parm data. INIT_GC_PARM_DAT...
Page 207 - Managing Quality of Service Alarms; Global Call API Programming Guide
263 Dialogic Corporation The gc_SetUserInfo( ) function can be used to specify call-related information such as coder information and display information before issuing gc_CallAck( ) , gc_AcceptCall( ) or gc_AnswerCall( ) . See Section 8.3.26, “gc_SetUserInfo( ) Variances for IP” , on page 487 for m...
Page 208 - Alarm Source Object Name; IPM QoS ASO; Retrieving the Media Device Handle
264 Dialogic Corporation 4.21.1 Alarm Source Object Name In Dialogic ® Global Call API, alarms are managed using the Dialogic ® Global Call API Alarm Management System (GCAMS). Each alarm source is represented by an Alarm Source Object (ASO) that has an associated name. When using Dialogic ® Global ...
Page 209 - Retrieving QoS Threshold Values; To retrieve QoS threshold values, use the
265 Dialogic Corporation if (gc_SetAlarmParm(hMediaDevice, ALARM_SOURCE_ID_NETWORK_ID, ParmSetID_qosthreshold_alarm, &alarm_parm_list, EV_SYNC)!= GC_SUCCESS) { /* handle gc_SetAlarmParm() failure */ printf("SetAlarmParm(hMediaDevice=%d, mode=EV_SYNC) Failed", hMediaDevice); return; } pri...
Page 210 - Handling QoS Alarms
266 Dialogic Corporation QoS_infop->QoSThresholdData[n].unPercentSuccessThreshold); printf("\tPercent Fail Threshold = %u\n", QoS_infop->QoSThresholdData[n].unPercentFailThreshold); printf("\n\n"); }} 4.21.5 Handling QoS Alarms The application must first be enabled to receive n...
Page 211 - When a GCEV_ALARM event occurs, use the Dialogic
267 Dialogic Corporation When a GCEV_ALARM event occurs, use the Dialogic ® Global Call API Alarm Management System (GCAMS) functions such as, gc_AlarmNumber( ) to retrieve information about the alarm. The following code demonstrates how to process a QoS alarm when it occurs. In this case the applic...
Page 212 - Registration; Registration Overview; H.323 Gatekeeper Registration
268 Dialogic Corporation See the Dialogic ® Global Call API Programming Guide for more information about the operation of GCAMS and the Dialogic ® Global Call API Library Reference for more information about GCAMS functions. 4.22 Registration In an H.323 network, a Gatekeeper manages the entities in...
Page 213 - SIP Registration; bindings
269 Dialogic Corporation • specifying one-time or periodical registration (RAS message: RRQ) • changing registered information (RAS message: RRQ) • removing registered information by value (RAS message: RRQ) • sending non-standard registration message (RAS message: NonStandardMessage) • deregisterin...
Page 214 - binding exists between the AOR; in the; Table 19. SIP REGISTER Method
270 Dialogic Corporation binding exists between the AOR [email protected] and the transport address [email protected]:5063 an INVITE addressed to [email protected] would be routed by a Proxy to the address [email protected]:5063. When the application receives the ...
Page 215 - Registration Operations; Configuring the Maximum Number of Registrations (SIP)
271 Dialogic Corporation When using SIP, it is important to note that RFC3261 specifies that the “host” portion of a URI that is given as a numeric IPv4 address (for example, 123.211.40.90) and one given as a domain name (for example, example.com) are treated as unique even if they actually resolve ...
Page 216 - function is called and remain in effect until; Locating a Registration Server; A Dialogic; Registration Requests; An application uses the
272 Dialogic Corporation illustrates how an application might increase the maximum number of registrations on the second of two virtual boards to allow two registrations per user: INIT_IPCCLIB_START_DATA(&ipcclibstart, 2, ip_virtboard); INIT_IP_VIRTBOARD(&ip_virtboard[0]); INIT_IP_VIRTBOARD(...
Page 217 - SIP
273 Dialogic Corporation H.323 If registration is initiated by a Dialogic ® Global Call API application via gc_ReqService( ) and the Gatekeeper rejects the registration, a GCEV_SERVICERESP event containing the result code IPEC_RASReasonInvalidIPEC_RASAddress. If an application’s registration attempt...
Page 218 - Global Call API library only if the application
274 Dialogic Corporation SIP When using SIP, auto-refresh is used by default. If the application does not explicitly set the time_to_live value in the IP_REGISTER_ADDRESS structure (that is, doesn’t change the value from its default value of 0), the call control library automatically sets the Expire...
Page 219 - Receiving Notification of Registration; Global Call API, the; was made
275 Dialogic Corporation • IP_AUTOREFRESH_ENABLE – enable auto-refresh for a specific registration, using the non-zero value specified in IP_REGISTER_ADDRESS.time_to_live or the default value of 3600 in the Expires header field Note: If this parameter is not present in the GC_PARM_BLK when registrat...
Page 220 - all; Changing Registration Information
276 Dialogic Corporation The application specifies the Registrar and Alias to query by including the following parameter element in the GC_PARM_BLK that is passed to gc_ReqService( ) : IPSET_REG_INFO IPPARM_REG_ADDRESS • value = IP_REGISTER_ADDRESS structure with reg_client and reg_server fields fil...
Page 221 - Table 38, “Registration Information When Using; Removing Registered Information by Value
277 Dialogic Corporation The overriding or additional information is contained in other elements in the GC_PARM_BLK. The elements that can be included are given in Table 38, “Registration Information When Using H.323” , on page 480 and Table 39, “Registration Information When Using SIP” , on page 48...
Page 222 - Deregistering
278 Dialogic Corporation If the GC_PARM_BLK contains an IPSET_LOCAL_ALIAS / IPPARM_ADDRESS_TRANSPARENT parameter element with the value "*" , all bindings that exist in the specified Registrar for the specified Alias are deleted, regardless of what application created them. 4.22.2.9 Deregist...
Page 223 - Registration Code Examples
279 Dialogic Corporation conventional nonstandard messages; see Section 9.2.18, “IPSET_NONSTANDARDDATA” , on page 526. An unsolicited GCEV_EXTENSION event with an extension ID (ext_id) of IPEXTID_RECEIVEMSG can be received that contains a nonstandard registration message. The associated GC_PARM_BLK ...
Page 224 - Registration Example
280 Dialogic Corporation 4.22.4.1 Registration Example The following code example shows how to populate a GC_PARM_BLK structure that can be used to register an endpoint with a gatekeeper (H.323) or registrar (SIP). The GC_PARM_BLK structure contains the following registration information: • two mand...
Page 227 - Deregistration Example; two mandatory parameters required by the generic
283 Dialogic Corporation printf("gc_Start() failed: Unable to retrieve error value\n"); } else { gc_ResultMsg(LIBID_GC, (long) gc_error, &resultmsg); printf("gc_ReqService() failed: gc_error=0x%X: %s\n", gc_error, resultmsg); gc_ResultMsg(cclibid, cc_error, &resultmsg); gc_CC...
Page 229 - SIP Digest Authentication
285 Dialogic Corporation failure is only detected when either the Time To Live interval (programmable, with a default of 20 seconds) or the Response timeout (2 seconds) expires. RAS failure detection times can be improved by setting the Time To Live value in the RAS registration request to a value s...
Page 232 - Overview of TLS
288 Dialogic Corporation The elements of the authentication quadruplets are contained in an IP_AUTHENTICATION data structure, with each element having the following characteristics: realm a case-insensitive string that defines the protected domain name. This element must always contain a non-empty s...
Page 234 - digital certificate
290 Dialogic Corporation By using TLS as a connection transport, a SIP entity can send and receive data in a secure authenticated manner. TLS, together with the commonly used Public Key Infrastructure certification distribution mechanism achieves the following goals: • Guarantees the identity of a r...
Page 235 - An example of an RSA certificate in PEM format is shown below.
291 Dialogic Corporation Global Call only supports certificates that use the Privacy Enhanced Mail (PEM) format. Applications will need to convert other formats to PEM format. Similarly, Global Call only supports certificates that use the RSA or DSA key formats. An example of an RSA certificate in P...
Page 236 - Certificate Authority
292 Dialogic Corporation A private key is used to decipher the information encrypted by the public key in the certificate. An example of private key in PEM format is shown below. -----BEGIN RSA PRIVATE KEY-----MIICXAIBAAKBgQDcgY+Gt//MY/9rK7vy0CFxv0/qEay5zm6H764AT4UDhHbJJRyfM0OjGpam6I01+RrhuZC47hUtzE...
Page 239 - Certificate Revocation List
295 Dialogic Corporation X509v3 Basic Constraints: CA:FALSE X509v3 Subject Key Identifier: E6:56:D3:2E:8F:7D:5B:04:99:D6:B0:C9:4C:54:A2:0B:33:31:67:FD X509v3 Authority Key Identifier: DirName:/C=US/ST=New Jersey/O=dialogic.com/CN=hmfu-rootCA.dialogic.com/[email protected] serial:0B Nets...
Page 240 - Configuring and Enabling TLS; is called
296 Dialogic Corporation 9b:5e:b3:85:92:7c:bb:c8:c9:93:fd:98:fa:e6:54:39:5b:58: 37:1c-----BEGIN X509 CRL-----MIIBcDCB2jANBgkqhkiG9w0BAQUFADCBjDEgMB4GA1UEAxMXaG1mdS1zZXJ2ZXJDQS5pbnRlbC5jb20xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRMwEQYDVQQHEwpQYXJzaXBwYW55MRIwEAYDVQQKEwlpbnRlbC5jb20xHTAbBgkqhki...
Page 241 - , the library start operation will fail.; Changing the Default TLS Port Number
297 Dialogic Corporation 4.24.2.1 Allocating, Initializing, and Configuring a SIP_TLS_ENGINE Data Structure The process of configuring the TLS feature for a virtual board begins by allocating a SIP_TLS_ENGINE data structure and initializing it to default values using the INIT_SIP_TLS_ENGINE( ) funct...
Page 242 - Configuring CA Certificates for TLS Client Operation
298 Dialogic Corporation RSA and DSS certificates. Application cannot use different certificate chains for RSA and DSS certificates at the same time. Each member of the chain_cert_filename array identifies a single certificate in the chain that links the local certificate to the root CA. The order o...
Page 243 - Configuring Server Session Caching; Note that; Setting the Mutual Authentication Option; Global Call API library; Setting the Insecure Port Blocking Options
299 Dialogic Corporation Configuring Diffie-Hellman (D-H) Key Exchange Parameters In order to perform a Diffie-Hellman (D-H) key exchange the server must use a D-H group (D-H parameters) and generate a D-H key. As TLS server, Global Call always generates a new D-H key during the negotiation. dh_para...
Page 244 - Simple SIP_TLS_ENGINE Configuration Example
300 Dialogic Corporation In both cases, the default value set by INIT_SIP_TLS_ENGINE( ) is ENUM_Disabled, which leaves both the UDP and TCP ports open. If the application wishes to block either or both of the ports, it must set the value ENUM_Enabled in the appropriate field or fields. Simple SIP_TL...
Page 245 - Enabling TCP in IP_VIRTBOARD; initialization will fail.
301 Dialogic Corporation /* initialize TLS Engine */ SIP_TLS_ENGINE sip_tls_engine;INIT_SIP_TLS_ENGINE(&sip_tls_engine); /* change default port number */sip_tls_engine.sip_tls_port = 5062; /* configure local RSA certificate and key */sip_tls_engine.local_rsa_private_key_filename = "localhost...
Page 246 - Configuring TCP/TLS Persistence in IP_VIRTBOARD; Transport Protocol”; Enabling TLS in IP_VIRTBOARD; The library will also fail to load when
302 Dialogic Corporation 4.24.2.3 Configuring TCP/TLS Persistence in IP_VIRTBOARD Because TLS operates on top of TCP, the Global Call mechanism for configuring the persistence of TCP connections also affects TLS connections. This configuration is accomplished via the E_SIP_Persistence field in IP_VI...
Page 247 - Making Calls Using TLS; Outbound proxy transport configured to be TLS
303 Dialogic Corporation 4.24.3 Making Calls Using TLS RFC 3261 defines the use of TLS as a transport mechanism by using the “sips:” scheme. When using the “sips:” scheme in a URI (or in any other header that indicates the next hop of a message, such as Route, Via, and others), RFC 3261 mandates the...
Page 249 - Source address is “sip:” URI, destination address is “sip:” URI
305 Dialogic Corporation Figure 52. Outbound Proxy Configured for TLS Transport with Only IP Address Or Hostname Source address is “sip:” URI, destination address is “sip:” URI In this scenario, the transport protocol of an initial INVITE is decided as follows: 1. If the E_SIP_DefaultTransport field...
Page 250 - Figure 53. TLS with “sip:” Source Address and “sip:” Destination Address
306 Dialogic Corporation 2. If the E_SIP_DefaultTransport field in the IP_VIRTBOARD structure is ENUM_TCP, only TCP will be used as transport protocol. No TLS will be used in the initial INVITE. Global Call will always use a “sip:” URI as the local contact URI unless this is specifically changed by ...
Page 251 - Source address is “sip:” URI, destination address is “sips:” URI
307 Dialogic Corporation Source address is “sip:” URI, destination address is “sips:” URI In this scenario, the transport protocol of initial INVITE is TLS and Global Call acts as TLS client. Global Call will always use a “sip:” URI as local contact URI unless the application specifically changes it...
Page 252 - Source address is “sips:” URI, destination address is “sip:” URI
308 Dialogic Corporation Source address is “sips:” URI, destination address is “sip:” URI In this scenario, the transport protocol of an initial INVITE is determined using the same process as in the “sip:” source/“sip:” destination case. Global Call will always use a “sips:” URI as the local contact...
Page 253 - Source address is “sips:” URI, destination address is “sips:” URI
309 Dialogic Corporation Source address is “sips:” URI, destination address is “sips:” URI In this scenario, the transport protocol of an initial INVITE is TLS and Global Call acts as TLS client and server. Global Call will always use a “sips:” URI as the local contact URI unless the application spe...
Page 254 - TLS Transport Failures; Call Transfer
310 Dialogic Corporation outbound proxy configuration. Global Call also allows the application to change the contact URI scheme to be different than the initial INVITE by setting the complete contact header as described in Section 4.9.5, “Setting SIP Header Fields for Outbound Messages” , on page 18...
Page 255 - Enabling Call Transfer
311 Dialogic Corporation 4.25.1 Enabling Call Transfer The call transfer supplementary service is a feature that must be enabled at the time the gc_Start( ) function is called. Both H.450.2 and SIP call transfer services are enabled at the same time. If the application tries to use one of the six IP...
Page 256 - Figure 58. Global Call Devices for Supervised Call Transfer; Incoming Transferred Call; Global Call API library (GC LIB) cause value of
312 Dialogic Corporation Figure 57. Global Call Devices for H.450.2 Blind Call Transfer or SIP Unattended Transfer To support a successful H.450.2 supervised call transfer or SIP attended call transfer, two Dialogic ® Global Call API line devices are eventually utilized at all endpoints. The transfe...
Page 257 - Call Transfer Glare Condition; to
313 Dialogic Corporation . . .case GCEV_OFFERED:{ if (metaevent.extevtdatap) { GC_PARM_BLKP parm_blkp = metaevent.extevtdatap; GC_PARM_DATAP curParm = NULL; printf("GCEV_OFFERED has parmblk:\n"); while ((curParm = gc_util_next_parm(parm_blkp, curParm)) != NULL) { CRN secondaryCRN = 0; char t...
Page 258 - Figure 59. Call Transfer Glare Condition
314 Dialogic Corporation Figure 59. Call Transfer Glare Condition gc_AcceptCall(CRNt) (optional) A (Transfering) App A (Transfering) IP CCLib B (Transferred) App B (Transferred) IP CCLib C (Transferred To) App C (Transferred To) IP CCLib RLC(ctInitiate.ReturnResult) Post Condition: Transferred call ...
Page 259 - Call Transfer When Using SIP; page 74. The topics covered here include:; Invoking an Unattended Call Transfer
315 Dialogic Corporation 4.25.5 Call Transfer When Using SIP This section describes specific call transfer procedures when using SIP protocol. For complete SIP-specific call transfer scenarios see Section 3.3, “Call Transfer Scenarios When Using SIP” , on page 74. The topics covered here include: • ...
Page 260 - Invoking an Attended Call Transfer; both; parties before; Processing Asynchronous Call Transfer Events
316 Dialogic Corporation /* Invoke transfer */ memset(&t_gclibmakecallblk, 0, sizeof(GCLIB_MAKECALL_BLK)); strcpy(t_gclibmakecallblk.destination.address, invokeaddr); t_gclibmakecallblk.destination.address_type = GCADDRTYPE_IP; t_gclibmakecallblk.destination.address_plan = GCADDRPLAN_UNKNOWN; t_...
Page 262 - Handling a Transfer Request
318 Dialogic Corporation case GCEV_ACCEPT_XFER_FAIL: // Failed to accept incoming transfer request PrintEventError(&metaEvent); break; case GCEV_REJ_XFER: // Rejected incoming transfer request break; case GCEV_REJ_XFER_FAIL: // Failed to reject incoming transfer request PrintEventError(&meta...
Page 263 - Making a Transferred Call
319 Dialogic Corporation int Gc_HandleXferReq(int channel){ if(session[channel].ConfigFileParm.autoRejectCallXfer) { printf("GC_APP : [%d] Reject call xfer request\n",channel); if(GC_SUCCESS != gc_RejectXfer(session[channel].crn, IPEC_SIPReasonStatus502BadGateway, 0, EV_ASYNC)) { printf("...
Page 264 - T.38 Fax Server Support Overview
320 Dialogic Corporation 4.26 T.38 Fax Server Dialogic ® Global Call API support for T.38 Fax Server is described under the following topics: • T.38 Fax Server Support Overview • Specifying Manual Operating Mode • Initiating a Switch from Audio to T.38 Fax • Associating a T.38 Fax Device with a Medi...
Page 265 - For SIP, the association must be made before; optionally; reestablishing the audio connection,; before; the; Figure 60. T.38 Fax Server Support in Manual Mode
321 Dialogic Corporation • For SIP, the association must be made before gc_MakeCall( ) on the outbound call side and gc_AnswerCall( ) on the inbound call side, since media can only be opened after either of these functions. Note: When a Media device is associated with a T.38 Fax device to establish ...
Page 266 - Specifying Manual Operating Mode; function
322 Dialogic Corporation 4.26.2 Specifying Manual Operating Mode An application must be configured in “Manual” mode to control the association and disassociation of Media and T.38 Fax devices during each call. The mode of operation is set on a board device basis. Once the GCEV_OPENEX event is receiv...
Page 267 - function. To continue to accept the request, the
323 Dialogic Corporation gc_util_insert_parm_ref(&parmblkp, IPSET_FOIP, IPPARM_T38_CONNECT, (sizeof(IP_CONNECT)), (void *)(&ipConnect)); gc_SetUserInfo(GCTGT_GCLIB_CRN, pline->crn, parmblkp, GC_SINGLECALL); gc_util_delete_parm_blk(parmblkp); /* Initiate T.38 codec switch */ gc_util_insert...
Page 269 - When a Fax Request is Received”; Sending a T.38 Fax in a Session Without Audio Established
325 Dialogic Corporation 4.26.5 Accepting/Rejecting a Request to Switch Between Audio and T.38 Fax After T.38 coder change request has been received, followed by association of T.38 Fax device with Media device as described in Section 4.26.4, “Associating a T.38 Fax Device with a Media Device When a...
Page 270 - only
326 Dialogic Corporation T.38 Fax device with a media device before calling the gc_MakeCall( ) function to actually send the fax information. The association only applies to a single call and can be accomplished by calling the gc_SetUserInfo( ) function on a line device for a single call, or in the ...
Page 271 - function. The following code
327 Dialogic Corporation To answer the T.38 offer, the application must associate a Fax device with the Media device and set local T.38 media capability before calling the gc_AnswerCall( ) function. The following code provides an example: INT32 processEvtHandler(){ METAEVENT metaEvent; GC_PARM_BLK *...
Page 272 - Sending a Request to Switch from T.38 Fax to Audio; function. The application
328 Dialogic Corporation 4.26.8 Sending a Request to Switch from T.38 Fax to Audio To request a switch from a T.38 Fax session back to an audio session, the application uses the gc_Extension( ) function, which initiates a RequestMode (H.323) or re-INVITE (SIP) message to actually perform the action....
Page 273 - Receiving a Request to Switch from T.38 Fax to Audio; continue accepting the request as described in
329 Dialogic Corporation break; : } :} 4.26.9 Receiving a Request to Switch from T.38 Fax to Audio An application may receive a request to switch from a T.38 Fax session back to an audio session. The request is received as a GCEV_EXTENSION event that is triggered by a RequestMode (H.323) or re-INVIT...
Page 274 - Terminating a Call After a T.38 Fax Session; Sending and Receiving V.17 Faxes; Sending G.711 Fax in an Established Audio Session
330 Dialogic Corporation break; : } :} 4.26.10 Terminating a Call After a T.38 Fax Session After a T.38 fax session is finished, and prior to issuing gc_DropCall( ) , the T.38 Fax device needs to be disassociated from the Media device using the gc_SetUserInfo( ) function. The following code provides...
Page 275 - Figure 61. Sending G.711 Fax in an Established Audio Session; Receiving G.711 Fax in an Established Audio Session; Global Call API to open
331 Dialogic Corporation Figure 61. Sending G.711 Fax in an Established Audio Session 4.27.2 Receiving G.711 Fax in an Established Audio Session In the scenario shown in Figure 62, the user application uses the Dialogic ® Global Call API to open a Media device and establishes an audio session with t...
Page 276 - Figure 62. Receiving G.711 Fax in an Established Audio Session; Using Object Identifiers
332 Dialogic Corporation Figure 62. Receiving G.711 Fax in an Established Audio Session 4.28 Using Object Identifiers Object Identifiers (OIDs) are not free strings, they are standardized and assigned by various controlling authorities such as, the International Telecommunications Union (ITU), Briti...
Page 277 - LAN Disconnection Alarms
333 Dialogic Corporation 4.29 LAN Disconnection Alarms The Dialogic ® Global Call API IP Call Control library allows applications to receive notification of a disruption of traffic over the host network interface. The network disconnection notification uses the standard GCAMS alarm mechanism. The Gl...
Page 278 - Explicitly open the board device.
334 Dialogic Corporation To enable the receipt of signaling LAN disconnect alarm events, the application must perform the following general steps: • Explicitly open the board device. • Register the device handle (from the open operation) with GCAMS using the Global Call function gc_SetAlarmNotifyAll...
Page 279 - Setting Dialogic
335 Dialogic Corporation print_alarm_info(&metaevent);{ long alarm_number; char *alarm_name; unsigned long alarm_source_objectID; char *alarm_source_object_name; gc_AlarmNumber(metaeventp, &alarm_number); // Will be of type TYPE_LAN_DISCONNECT = 0x01 // or TYPE_LAN_DISCONNECT + 0x10 (LAN con...
Page 281 - IP Call Scenarios; Global Call API with; Basic Call Control Scenarios When Using; IP Technology; Basic Call Setup When Using H.323 or SIP
51 Dialogic Corporation 3 3. IP Call Scenarios This chapter provides common call control scenarios when using Dialogic ® Global Call API with IP technology. Topics include: • Basic Call Control Scenarios When Using IP Technology . . . . . . . . . . . . . . . . . . . . . . 51 • Call Transfer Scenario...
Page 282 - Figure 8 shows the basic call setup sequence when using H.323 or SIP.; Figure 8. Basic Call Setup When Using H.323 or SIP
52 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.1.1 Basic Call Setup When Using H.323 or SIP Figure 8 shows the basic call setup sequence when using H.323 or SIP. Notes: 1. This figure assumes that the network and media channels are already open...
Page 283 - Basic Call Teardown When Using H.323 or SIP; Global Call API with H.323; Figure 9. Basic Call Teardown When Using H.323 or SIP; Call Setup Scenarios for Early Media; early media
Dialogic ® Global Call IP Technology Guide — November 2007 53 Dialogic Corporation IP Call Scenarios 3.1.2 Basic Call Teardown When Using H.323 or SIP Figure 9 shows the basic call teardown scenario when using Dialogic ® Global Call API with H.323 or SIP. Note: Only H.225.0 (Q.931) messages are show...
Page 285 - SIP FastStart Mode (Calling UA Offers SDP)
Dialogic ® Global Call IP Technology Guide — November 2007 55 Dialogic Corporation IP Call Scenarios 3.1.3.2 H.323 SlowStart Mode Many factors affect the opportunities for early media in H.323 SlowStart mode. • Unless both endpoints support what is referred to as “early H.245”, early media is not po...
Page 286 - Figure 12. SIP Early Media, Calling UA Offers SDP; SIP SlowStart Mode (Calling UA Answers SDP); delayed offer; Figure 13. SIP Early Media, Calling UA Answers SDP
56 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios Figure 12. SIP Early Media, Calling UA Offers SDP 3.1.3.4 SIP SlowStart Mode (Calling UA Answers SDP) When a SIP application sets the optional SlowStart parameter, it specifies that the INVITE messag...
Page 287 - Call Transfer Scenarios When Using H.323; General Conditions for H.450.2 Call Transfers; Global Call API, party A and party B are
Dialogic ® Global Call IP Technology Guide — November 2007 57 Dialogic Corporation IP Call Scenarios 3.2 Call Transfer Scenarios When Using H.323 The Dialogic ® Global Call API API functions that support IP call transfer are described in the Dialogic ® Global Call API Library Reference . Information...
Page 289 - Successful H.450.2 Blind Call Transfer Scenario; Global Call API. Completion of a
Dialogic ® Global Call IP Technology Guide — November 2007 59 Dialogic Corporation IP Call Scenarios 3.2.3 Successful H.450.2 Blind Call Transfer Scenario As indicated in Figure 14, the precondition for blind transfer is that the transferring endpoint (party A) and the transferred endpoint (party B)...
Page 291 - Unsuccessful H.450.2 Blind Call Transfer Scenarios; Party B Rejects Transfer
Dialogic ® Global Call IP Technology Guide — November 2007 61 Dialogic Corporation IP Call Scenarios 3.2.4 Unsuccessful H.450.2 Blind Call Transfer Scenarios There are a several of scenarios where a blind call transfer may fail. The most common scenarios are described in the following topics: • Part...
Page 292 - No Response From Party B
62 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.2.4.2 No Response From Party B As indicated in Figure 16, the transferred endpoint (party B) may not respond to the ctInitiate.ReturnResult APDU which would cause the T3 timer configured as 20 seco...
Page 293 - No Response From Party C
Dialogic ® Global Call IP Technology Guide — November 2007 63 Dialogic Corporation IP Call Scenarios 3.2.4.3 No Response From Party C As indicated in Figure 17, the transferred-to endpoint (party C) may not respond to the incoming call which would cause the T4 timer configured as 20 seconds at the t...
Page 294 - Party B Clears Primary Call Before Transfer is Completed; Before Transfer is Completed
64 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.2.4.4 Party B Clears Primary Call Before Transfer is Completed The primary call may be cleared at any time while a blind transfer is in progress. As indicated in Figure 18, the transferred endpoint...
Page 295 - Party C is Busy When Transfer Attempted
Dialogic ® Global Call IP Technology Guide — November 2007 65 Dialogic Corporation IP Call Scenarios 3.2.4.5 Party C is Busy When Transfer Attempted The transferred-to endpoint (party C) may also be busy at the time of transfer (unknown to the transferring endpoint). As indicated in Figure 19, this ...
Page 296 - Endpoint Behavior in H.450.2 Supervised Call Transfer; function at; reroutinginfop
66 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.2.5 Endpoint Behavior in H.450.2 Supervised Call Transfer This section describes the behavior of each of the three endpoints in a supervised call transfer under H.450.2. The assumed preconditions f...
Page 297 - Successful H.450.2 Supervised Call Transfer Scenario; successful
Dialogic ® Global Call IP Technology Guide — November 2007 67 Dialogic Corporation IP Call Scenarios From this point forward, the behavior in handling the incoming transferred call from the perspective of this endpoint is identical to that of a blind or unsupervised transfer. The only difference is ...
Page 299 - Unsuccessful H.450.2 Supervised Transfer Scenarios; Party C Timeout
Dialogic ® Global Call IP Technology Guide — November 2007 69 Dialogic Corporation IP Call Scenarios 3.2.7 Unsuccessful H.450.2 Supervised Transfer Scenarios Note: The same failures that can potentially occur in blind transfer, may take place in supervised transfer as well. See Section 3.2.4, “Unsuc...
Page 301 - Party C Rejects the Transfer Request
Dialogic ® Global Call IP Technology Guide — November 2007 71 Dialogic Corporation IP Call Scenarios 3.2.7.2 Party C Rejects the Transfer Request As indicated in Figure 22, the user or application at the transferred-to endpoint (party C) may call the gc_RejectInitXfer( ) function to signal via the c...
Page 302 - Party B Rejects the Transfer Request
72 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.2.7.3 Party B Rejects the Transfer Request As indicated in Figure 23, the user or application at the transferred endpoint (party B) may call the gc_RejectXfer( ) function to reject the transfer req...
Page 303 - Party B Timeout
Dialogic ® Global Call IP Technology Guide — November 2007 73 Dialogic Corporation IP Call Scenarios 3.2.7.4 Party B Timeout As indicated in Figure 24, the user or application at the transferred-to endpoint (party C) may receive the transferred call after the T4 timer expires. If this is the case an...
Page 304 - Call Transfer Scenarios When Using SIP; General Conditions for SIP Call Transfers; There are two fundamental types of call transfer:
74 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3 Call Transfer Scenarios When Using SIP The Dialogic ® Global Call API functions that supports IP call transfer are described in the Global Call API Library Reference ; protocol-specific informati...
Page 305 - Interoperability Issues; no initial NOTIFY after sending out 202 accept to REFER request; Endpoint Behavior in Unattended SIP Call Transfers; Transferor or Transferring Endpoint (party A)
Dialogic ® Global Call IP Technology Guide — November 2007 75 Dialogic Corporation IP Call Scenarios In the SIP call transfer protocol the Transferor is notified when the Transferee accepts the REFER transfer request. The Dialogic ® Global Call API Library allows this notification to be signaled to ...
Page 306 - Transferee or Transferred Endpoint (Party B)
76 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios constructed with the local URI—the same as the From or To header, depending on the direction of the initial call INVITE. Optionally, the Transferor can override the default Referred-By header by inse...
Page 308 - Successful Unattended SIP Call Transfer Scenarios; Successful Transfer with Notification of Connection
78 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios IP_SIP_MSGINFO_ENABLE in the sip_msginfo_mask field of the IP_VIRTBOARD data structure) when the virtual board was started. 3.3.2.3 Transfer Target or Transferred-To Endpoint (Party C) From the persp...
Page 310 - Successful Transfer with Notification of Ringing
80 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.3.2 Successful Transfer with Notification of Ringing Figure 26 illustrates a scenario where party B notifies party A that the transfer has completed as soon as party C responds to the INVITE with...
Page 311 - prior to Notification of Transferred Call Status
Dialogic ® Global Call IP Technology Guide — November 2007 81 Dialogic Corporation IP Call Scenarios 3.3.3.3 Successful Transfer with Early Termination of REFER Subscription Figure 27 illustrates a valid scenario for which Global Call does not support the party B role. In this scenario, party B term...
Page 312 - Transfer Completion
82 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios Figure 28. Successful SIP Unattended Call Transfer, Party A Clears Primary Call prior to Transfer Completion Figure 29 illustrates a scenario in which party B drops the primary call with party A afte...
Page 314 - Endpoint Behavior in Attended SIP Transfers; Transferor or Transferring Endpoint (Party A); function. The difference between unattended and attended; Protecting and Exposing the Transfer Target
84 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.4 Endpoint Behavior in Attended SIP Transfers The assumed preconditions for attended SIP call transfer (commonly referred to as “supervised call transfer” in other technologies and protocols) are...
Page 316 - Successful SIP Attended Call Transfer Scenarios; Successful SIP Attended Call Transfer
86 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.5 Successful SIP Attended Call Transfer Scenarios This section describes the basic scenario for successful SIP call transfer and the scenarios for recovery from two conditions that can block tran...
Page 317 - function call, which is not required in SIP. The; Figure 30. Successful SIP Attended Call Transfer
Dialogic ® Global Call IP Technology Guide — November 2007 87 Dialogic Corporation IP Call Scenarios 3.3.5.1 Successful SIP Attended Call Transfer Figure 30 illustrates the basic scenario for successful SIP attended call transfer. The scenario illustrates the use of a gc_InitXfer( ) function call, w...
Page 318 - Attended Transfer when REFER is Not Globally Supported
88 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.5.2 Attended Transfer when REFER is Not Globally Supported If protecting or exposing the Transfer Target is not a concern, it is possible to complete an attended transfer when only the Transferor...
Page 320 - Unsuccessful Call Transfer Scenarios; function call and the corresponding; Party B Rejects Call Transfer; to signal the Transferor (party A) that it cannot participate in a
90 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.6 Unsuccessful Call Transfer Scenarios All of the scenarios in this section apply to both unattended (blind) transfer and attended (supervised) SIP call transfers. The gc_InitXfer( ) function cal...
Page 321 - Figure 33. SIP Call Transfer Failure - Party B Rejects Call Transfer; Figure 34. SIP Call Transfer Failure - No Response from Party B
Dialogic ® Global Call IP Technology Guide — November 2007 91 Dialogic Corporation IP Call Scenarios Figure 33. SIP Call Transfer Failure - Party B Rejects Call Transfer 3.3.6.2 No Response From Party B Figure 34 illustrates a scenario in which the Transferee (party B) does not respond to the REFER,...
Page 322 - No Initial NOTIFY after REFER Accepted
92 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.6.3 No Initial NOTIFY after REFER Accepted Figure 35 illustrates a scenario in which the Transferee (party B) does not send a NOTIFY after it accepts the REFER, causing the timer at party A to ex...
Page 323 - REFER Subscription Expires; Figure 36. SIP Call Transfer Failure - REFER Subscription Expires
Dialogic ® Global Call IP Technology Guide — November 2007 93 Dialogic Corporation IP Call Scenarios 3.3.6.4 REFER Subscription Expires Figure 36 illustrates a scenario in which the REFER subscription expires, causing both party A and party B to time out. After the timeout, the Transferee applicatio...
Page 324 - Figure 37. SIP Call Transfer Failure - No Response from Party C
94 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.3.6.5 No Response From Party C Figure 37 illustrates a scenario in which the Transfer Target (party C) does not respond to the incoming call from the Transferee (party B) which causes the T4 timer ...
Page 325 - Party B Drops Transferred Call Early
Dialogic ® Global Call IP Technology Guide — November 2007 95 Dialogic Corporation IP Call Scenarios 3.3.6.6 Party B Drops Transferred Call Early Figure 38 illustrates a scenario in which the Transferee (party B) drops the transferred call before receiving a response to the INVITE it sent to party C...
Page 327 - T.38 Fax Server Call Scenarios
Dialogic ® Global Call IP Technology Guide — November 2007 97 Dialogic Corporation IP Call Scenarios 3.4 T.38 Fax Server Call Scenarios Dialogic ® Global Call API supports T.38 fax server as described in Section 4.26, “T.38 Fax Server” , on page 320. The following scenarios demonstrate the T.38 fax ...
Page 328 - Sending T.38 Fax in an Established Audio Session; Figure 40. Sending T.38 Fax in an Established Audio Session
98 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.4.1 Sending T.38 Fax in an Established Audio Session In this scenario, the user application uses the Dialogic ® Global Call API to open a Media device, configures “Manual” mode of operation and est...
Page 329 - Receiving T.38 Fax in an Established Audio Session
Dialogic ® Global Call IP Technology Guide — November 2007 99 Dialogic Corporation IP Call Scenarios 3.4.2 Receiving T.38 Fax in an Established Audio Session In this scenario, the user application uses the Dialogic ® Global Call API to open a Media device, configures “Manual” operating mode and esta...
Page 330 - Figure 41. Receiving T.38 Fax in an Established Audio Session
100 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios Figure 41. Receiving T.38 Fax in an Established Audio Session IPML Remote Device Capable of Signaling, Audio and T.38 App gc_OpenEx(:N_iptB1T1:M_ipmB1C1) SETUPw/TCS/INVITE to send Origination IP add...
Page 331 - Sending T.38 Fax Without an Established Audio Session; Figure 42. Sending T.38 Fax Without an Established Audio Session
Dialogic ® Global Call IP Technology Guide — November 2007 101 Dialogic Corporation IP Call Scenarios 3.4.3 Sending T.38 Fax Without an Established Audio Session This scenario describes the sending of T.38 Fax in a media session that does not have audio already established. The application first ope...
Page 332 - Receiving T.38 Fax Without an Established Audio Session; The application must not use both Dialogic; Figure 43. Receiving T.38 Fax Without an Established Audio Session
102 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.4.4 Receiving T.38 Fax Without an Established Audio Session This scenario describes the reception of T.38 Fax in a media session that does not have audio already established. The application first...
Page 333 - Sending a Request to Switch From T.38 Fax to Audio; Figure 44. Sending a Request to Switch From T.38 Fax to Audio
Dialogic ® Global Call IP Technology Guide — November 2007 103 Dialogic Corporation IP Call Scenarios 3.4.5 Sending a Request to Switch From T.38 Fax to Audio In a fax session, when a fax completes, the application can use the Dialogic ® Global Call API to issue a request to switch from a T.38 fax s...
Page 334 - Receiving a Request to Switch From T.38 Fax to Audio; Figure 45. Receiving a Request to Switch From T.38 Fax to Audio
104 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP Call Scenarios 3.4.6 Receiving a Request to Switch From T.38 Fax to Audio In a fax session, when a fax completes, the application can receive a request to switch from a T.38 fax session back to an audio session. T...
Page 335 - Recovering from a Session Switching Failure
Dialogic ® Global Call IP Technology Guide — November 2007 105 Dialogic Corporation IP Call Scenarios 3.4.7 Terminating a Call After a T.38 Fax Session In any scenario where a T.38 session is established and fax is complete, the application can terminate the call without switching to audio. In eithe...
Page 337 - Global Call API to perform certain third party call; Overview; Third Party Call Control; The key attributes of third party call control are:
Dialogic ® Global Call IP Technology Guide — November 2007 337 Dialogic Corporation 5 5. Third Party Call Control (3PCC) Operations and Multimedia Support This chapter provides an overview of the libraries and protocols used for third party call control (3PCC) and describes how to use the Dialogic ®...
Page 338 - Figure 63. Third Party Call Controller
338 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support The Internet Engineering Task Force (IETF) has defined RFC 3725 - Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation...
Page 339 - Figure 64. Basic Call Setup When Using Third Party Call Control; The call sequence description for Figure 64 is as follows:
Dialogic ® Global Call IP Technology Guide — November 2007 339 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support SIP uses the Session Description Protocol (SDP) format for negotiating the media parameters of third party call control calls. Further information on ...
Page 340 - Figure 65. Third Party Call Control Setup using re-INVITE; The call sequence description for Figure 65 is as follows:
340 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 7. The third party call controller then encapsulates the answer (answer1) in an ACK method. This ACK method is then sent to User A (6). User A has now...
Page 342 - Session Description Protocol
342 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support Global Call API library. The host application does not require direct access to the IP Media Library, as shown in Figure 5, “Dialogic® Global Call API...
Page 343 - Global Call in Third Party Call Control Mode; Initializing the Library in Third Party Call Control Mode
Dialogic ® Global Call IP Technology Guide — November 2007 343 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support When the Dialogic ® Global Call API is initialized in 3PCC mode, the call control library (IPCCLIB) does not internally negotiate media session parame...
Page 344 - Interface Changes; IPSET_SDP Parameter Set Identifier
344 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support CCLIB_START_STRUCT and GC_START_STRUCT structures, contains a media_operational_mode field that determines the Dialogic ® Global Call API library mode...
Page 345 - Model with Session Description Protocol (SDP)
Dialogic ® Global Call IP Technology Guide — November 2007 345 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support • Events • Error Codes • Global Call Functions Invalid in Third Party Call Control Mode 5.2.2.1 IPCCLIB_START_DATA Data Structure The IPCCLIB_START_DA...
Page 348 - IPSET_SDP Code Example
348 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support IPSET_SDP Code Example /* *//* Description: Send a SIP re-INVITE containing an SDP offer *//* for IP Address, RTP port, coder type. *//* *//* Assumes:...
Page 350 - Events; Table 23. Global Call Third Party Call Control Mode Events
350 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support GC_SINGLECALL and GC_ALLCALLS duration defines imply that the data set is valid for the entire length of the call. Refer to Section 4.3, “Setting Call...
Page 351 - Global Call Functions Invalid in Third Party Call Control Mode; When the Dialogic; Table 24. Global Call Third Party Call Control Mode Error Codes
Dialogic ® Global Call IP Technology Guide — November 2007 351 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.2.2.8 Global Call Functions Invalid in Third Party Call Control Mode When the Dialogic ® Global Call API library is operating in 3PCC mode, the appl...
Page 352 - Call Setup Modes”; Call Transfer Scenarios; Section 3.3, “Call Transfer Scenarios When Using SIP”
352 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.2.3 Device Types and Usage When using Dialogic ® Global Call API in 3PCC mode, the gc_OpenEx( ) and gc_AttachResource( ) functions cannot be used to...
Page 353 - DTMF Transport; Message Sequence Diagrams; First Party Call Establishment in Third Party Call Control Mode
Dialogic ® Global Call IP Technology Guide — November 2007 353 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.2.6 DTMF Transport The media management interface required to support in-band DTMF transport is not available when the Dialogic ® Global Call API is...
Page 355 - Basic Third Party Call Control Establishment
Dialogic ® Global Call IP Technology Guide — November 2007 355 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.2 Basic Third Party Call Control Establishment Figure 68 and Figure 69 show how to establish a basic third party call control call. A third party ...
Page 356 - Figure 68. Basic Third Party Call Control Establishment (part one)
356 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support Figure 68. Basic Third Party Call Control Establishment (part one) Application A Global Call Library A (IPCCLIB) Application B Global Call Library B (...
Page 357 - Figure 69. Basic Third Party Call Control Establishment (part two)
Dialogic ® Global Call IP Technology Guide — November 2007 357 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support Figure 69. Basic Third Party Call Control Establishment (part two) Application A Global Call Library A (IPCCLIB) Application B Global Call Library B (...
Page 358 - Alternate Third Party Call Control Establishment
358 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.3 Alternate Third Party Call Control Establishment Figure 70, Figure 71, and Figure 72 show an alternate third party call control flow. In this se...
Page 362 - Modifying the Coder; Successfully Modifying the Coder
362 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.4 Modifying the Coder When running in 3PCC mode, the host application can use the re-INVITE functionality to modify the coders of an active dialog...
Page 365 - Unsuccessfully Modifying the Coder; Figure 75. Unsuccessfully Modifying the Coder
Dialogic ® Global Call IP Technology Guide — November 2007 365 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.4.2 Unsuccessfully Modifying the Coder Figure 75 shows a message sequence diagram for an unsuccessful attempt at modifying the coder of an active ...
Page 366 - Cancelling a re-INVITE Request; Figure 76. Cancelling a Coder Switch using re-INVITE
366 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.5 Cancelling a re-INVITE Request Figure 76 shows the host application behavior when a re-INVITE request has been cancelled. The re-INVITE request ...
Page 367 - Receiving an Invalid Answer SDP; determining that the received answer SDP is invalid
Dialogic ® Global Call IP Technology Guide — November 2007 367 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.6 Receiving an Invalid Answer SDP Figure 77 depicts host application behavior when an invalid answer SDP is received. In this message sequence dia...
Page 368 - Figure 77. Receiving an Invalid Answer SDP; OPTIONS Request on an Active Dialog; OPTIONS Request Without a MIME Body
368 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support Figure 77. Receiving an Invalid Answer SDP 5.4.7 OPTIONS Request on an Active Dialog This section provides message sequence diagrams for the following...
Page 369 - Refer to
Dialogic ® Global Call IP Technology Guide — November 2007 369 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.4.7.1 OPTIONS Request Without a MIME Body When performing SIP OPTIONS transactions in 3PCC mode, SDP content is always delivered in a parameter bloc...
Page 370 - Figure 78. OPTIONS Request without a MIME Body; With a MIME Body
370 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support Figure 78. OPTIONS Request without a MIME Body 5.4.7.2 With a MIME Body Figure 79 depicts the host application behavior when performing an OPTIONS req...
Page 371 - Figure 79. OPTIONS Request with a MIME Body; Processing Intraframe Requests for Video Streams
Dialogic ® Global Call IP Technology Guide — November 2007 371 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support Figure 79. OPTIONS Request with a MIME Body 5.5 Processing Intraframe Requests for Video Streams This section provides information about processing in...
Page 372 - Requesting an I-Frame in SIP; . The draft specification defines an XML; Global Call Example Code
372 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Third Party Call Control (3PCC) Operations and Multimedia Support 5.5.2 Requesting an I-Frame in SIP SIP provides a way to request the transmission of an Intraframe as defined by the “expired” IETF draft draft-levin-...
Page 375 - Building Dialogic; Header Files
Dialogic ® Global Call IP Technology Guide — November 2007 375 Dialogic Corporation 6 6. Building Dialogic ® Global Call API IP Applications This chapter describes the IP-specific header files and libraries required when building applications. • Header Files . . . . . . . . . . . . . . . . . . . . ....
Page 376 - Required System Software
376 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Building Dialogic ® Global Call API IP Applications 6.3 Required System Software The Dialogic ® Host Media Processing (HMP) Software must be installed on the development system. See the Dialogic ® Software Installati...
Page 377 - Debugging Dialogic; Debugging Overview
Dialogic ® Global Call IP Technology Guide — November 2007 377 Dialogic Corporation 7 7. Debugging Dialogic ® Global Call API IP Applications This chapter provides information about debugging Dialogic ® Global Call API IP applications: • Debugging Overview . . . . . . . . . . . . . . . . . . . . . ....
Page 378 - Configuring the Logging Facility; Configuration File Overview; Global Section
378 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Debugging Dialogic ® Global Call API IP Applications client An entity for identifying a device, component, or function that is to be traced by the RTF. The RTF modules for the IP Call Control library include a large ...
Page 379 - Module Sections; The; Client Entries; Configuring the gc_h3r Logging Module; file in previous implementations.
Dialogic ® Global Call IP Technology Guide — November 2007 379 Dialogic Corporation Debugging Dialogic ® Global Call API IP Applications Module Sections The RtfConfig.xml file contains a number of module sections, each of which controls the logging of trace statements for a specific RTF module. Thre...
Page 382 - Configuring SIP Stack Logging
382 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Debugging Dialogic ® Global Call API IP Applications SIP_CAPS (formerly M_SIP_CAP) SIP Capabilities SIP_SIG_DEC (formerly M_SIP_DEC) SIP Signal Adaptation Layer Decoder SIP_SIG_ENC (formerly M_SIP_ENC) SIP Signal Ada...
Page 383 - Configuring H.323 Stack Logging
Dialogic ® Global Call IP Technology Guide — November 2007 383 Dialogic Corporation Debugging Dialogic ® Global Call API IP Applications The Error label is normally enabled globally. The Debug label is enabled and disabled on the module level, and if the label is enabled the logging of these stateme...
Page 394 - Global Call API Functions
394 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Function Information gc_SwapHold( ) Not supported gc_TransmitAlarms( ) Not supported gc_UnListen( ) Supported with variances described in Section 8.3.29, “gc_UnListen( ) Variances for IP” , on page 495 gc...
Page 396 - accept proposed modification of call characteristics; Description
396 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_AcceptModifyCall( ) — accept proposed modification of call characteristics gc_AcceptModifyCall( ) accept proposed modification of call characteristics Description The gc_AcceptModifyCall( ) function is used to a...
Page 397 - with a NULL pointer as
Dialogic ® Global Call IP Technology Guide — November 2007 397 Dialogic Corporation accept proposed modification of call characteristics — gc_AcceptModifyCall( ) The function returns either <0 (to indicate failure) or 0 depending only upon the validity of the parameters. The function return does ...
Page 398 - as an; Termination Events; Cautions
398 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_AcceptModifyCall( ) — accept proposed modification of call characteristics request. In this case, the library sends a 488 Not Acceptable Here response to the remote party to terminate the re-INVITE, and generates ...
Page 399 - Errors; Example
Dialogic ® Global Call IP Technology Guide — November 2007 399 Dialogic Corporation accept proposed modification of call characteristics — gc_AcceptModifyCall( ) gc_SetConfigData( ) function. If this parameter value has not been set, the function call will fail with an error value of IPERR_BAD_PARM....
Page 401 - The following code example illustrates how the
Dialogic ® Global Call IP Technology Guide — November 2007 401 Dialogic Corporation accept proposed modification of call characteristics — gc_AcceptModifyCall( ) else /* not acceptable so respond with SIP Client Error */ /* final response of 488 Not Acceptable Here */ if (gc_RejectModifyCall(crn, IP...
Page 405 - See Also
Dialogic ® Global Call IP Technology Guide — November 2007 405 Dialogic Corporation accept proposed modification of call characteristics — gc_AcceptModifyCall( ) case GCEV_SIP_ACK: // Unsolicited event indicating SIP ACK was received on an invite/re-invite request. // This metaevent will contain an ...
Page 406 - reject proposed modification of call attributes; Section 11.5, “Failure Response Codes When Using SIP”
406 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_RejectModifyCall( ) — reject proposed modification of call attributes gc_RejectModifyCall( ) reject proposed modification of call attributes Description The gc_RejectModifyCall( ) function is used to reject a re...
Page 414 - gc_ReqModifyCall( ) — request modification of call attributes
414 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_ReqModifyCall( ) — request modification of call attributes gc_ReqModifyCall( ) request modification of call attributes Description The gc_ReqModifyCall( ) function is used to initiate a request to the network or...
Page 415 - request modification of call attributes — gc_ReqModifyCall( )
Dialogic ® Global Call IP Technology Guide — November 2007 415 Dialogic Corporation request modification of call attributes — gc_ReqModifyCall( ) To set one or more message header fields in the re-INVITE request, the application inserts into the GC_PARM_BLK a parameter of the following form for each...
Page 416 - in 3PCC mode; , a call control application; . If the response code from the remote party was a 408 Request
416 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_ReqModifyCall( ) — request modification of call attributes To request a change in the attributes of a media session in 3PCC mode , a call control application explicitly constructs an SDP offer containing the desir...
Page 421 - set IP authentication information — gc_SetAuthenticationInfo( )
Dialogic ® Global Call IP Technology Guide — November 2007 421 Dialogic Corporation set IP authentication information — gc_SetAuthenticationInfo( ) gc_SetAuthenticationInfo( ) set IP authentication information Description The gc_SetAuthenticationInfo( ) function is used to configure or remove auth...
Page 422 - gc_SetAuthenticationInfo( ) — set IP authentication information; Examples
422 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_SetAuthenticationInfo( ) — set IP authentication information a quadruplet that already exists, the existing username and password are overwritten with the new strings. If the identity field in the IP_AUTHENTICATIO...
Page 424 - acknowledge a SIP 200OK message in 3PCC mode
424 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_SipAck( ) — acknowledge a SIP 200OK message in 3PCC mode gc_SipAck( ) acknowledge a SIP 200OK message in 3PCC mode Description The gc_SipAck( ) function is specific to the SIP protocol, and is used only in the t...
Page 427 - None
Dialogic ® Global Call IP Technology Guide — November 2007 427 Dialogic Corporation acknowledge a SIP 200OK message in 3PCC mode — gc_SipAck( ) case GCEV_SIP_ACK_FAILED: /* process failure to change attribute */ if (gc_ResultInfo(&metaevent, &t_info) < 0) /* failure logic here */ /* proce...
Page 433 - insert a GC_PARM_BLK parameter by reference
Dialogic ® Global Call IP Technology Guide — November 2007 433 Dialogic Corporation insert a GC_PARM_BLK parameter by reference — gc_util_insert_parm_ref_ex( ) gc_util_insert_parm_ref_ex( ) insert a GC_PARM_BLK parameter by reference Description The gc_util_insert_parm_ref_ex( ) function inserts a...
Page 436 - retrieve the next parameter in a GC_PARM_BLK
436 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation gc_util_next_parm_ex( ) — retrieve the next parameter in a GC_PARM_BLK gc_util_next_parm_ex( ) retrieve the next parameter in a GC_PARM_BLK Description The gc_util_next_parm_ex( ) function is used to retrieve the n...
Page 440 - reference page
440 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation INIT_GC_PARM_DATA_EXT( ) — initialize GC_PARM_DATA_EXT structure switch(parm_data_ext.set_ID); { . . . } } /* Check for error */ if ( GC_ERROR == ret ) { /* Process error */ } . . .} See Also • GC_PARM_DATA_EXT ref...
Page 441 - initialize IP_VIRTBOARD data structure
Dialogic ® Global Call IP Technology Guide — November 2007 441 Dialogic Corporation initialize IP_VIRTBOARD data structure — INIT_IP_VIRTBOARD( ) INIT_IP_VIRTBOARD( ) initialize IP_VIRTBOARD data structure Description The INIT_IP_VIRTBOARD( ) function is used to initialize an IP_VIRTBOARD data str...
Page 444 - only in asynchronous mode; rings; Variance for SIP
444 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation 8.3 Dialogic ® Global Call API Function Variances for IP Note: Except for gc_Listen( ) , gc_OpenEx( ) , gc_ReleaseCallEx( ) , gc_UnListen( ) , all Dialogic ® Global Call API functions that nominally support synchrono...
Page 445 - Global Call API cause value of
Dialogic ® Global Call IP Technology Guide — November 2007 445 Dialogic Corporation ./* Append/create GC_PARM_BLK with specified 183 response code*/gc_util_insert_parm_val(&parmblkp, IPSET_SIP_RESPONSE_CODE, IPPARM_ACCEPT_RESP_CODE, sizeof(unsigned short, &acceptCode); rc = gc_SetConfigData(...
Page 449 - “IP-Specific Event Cause Codes”
Dialogic ® Global Call IP Technology Guide — November 2007 449 Dialogic Corporation Variance for H.323 Allowable protocol-specific cause codes are prefixed by IPEC_H225 or IPEC_Q931 in Chapter 11, “IP-Specific Event Cause Codes” . Variance for SIP Cause codes and reasons are only supported when gc_D...
Page 453 - valuep
Dialogic ® Global Call IP Technology Guide — November 2007 453 Dialogic Corporation define to allocate a buffer that is large enough to hold any type of Call ID value (i.e., either an H.323 array of octets or a SIP string). Note: For outbound calls the gc_GetCallInfo( ) function can be used to retri...
Page 454 - Returns the simple destination address in the form; argument contains a
454 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation When retrieving called party (DNIS) information, the address is taken from the SIP To: header, and is accessible in one of two forms by using one of the following parameter IDs in the function call: DESTINATION_ADDRE...
Page 457 - Table 28. H.450.2 ctInitiate Errors Received from the Network
Dialogic ® Global Call IP Technology Guide — November 2007 457 Dialogic Corporation Table 28 through Table 31 list the possible event failure cause values. numberstr Ignored in supervised call transfer – set to NULL. For blind call transfer, used to provide address of party C (the rerouting address)...
Page 458 - function as
458 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Variance for SIP The application at party A may optionally be notified by a GCEV_INVOKE_XFER_ACCEPTED event that the transfer request has been accepted by the remote party to which it was sent. (This event has no equ...
Page 459 - Section 4.9, “Setting and Retrieving SIP Message Header
Dialogic ® Global Call IP Technology Guide — November 2007 459 Dialogic Corporation gc_SetConfigData(GCTGT_GCLIB_CHAN,ldev,t_pParmBlk,0,GCUPDATE_IMMEDIATE,&request_id,EV_SYNC); gc_util_delete_parm_blk(t_pParmBlk) The specific meaning of the GCEV_INVOKE_XFER termination event for successful trans...
Page 460 - Table 33. SIP Header Fields Settable in REFER Messages
460 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Fields” , on page 172. Table 33 lists the header fields that can be set in REFER messages and the corresponding parameter IDs along with examples of field values. 8.3.16 gc_Listen( ) Variances for IP The gc_Listen( )...
Page 461 - Configurable Call Parameters
Dialogic ® Global Call IP Technology Guide — November 2007 461 Dialogic Corporation A network device that is opened in multi-protocol mode defaults to IP_PROTOCOL_H323 if the protocol is not explicitly set in the makecall block. Note: Applications should not use the gc_SetUserInfo( ) function to set...
Page 464 - Origination Address Information; The origination address can be set using the; Table 35. Configurable Call Parameters When Using SIP
464 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation 8.3.17.2 Origination Address Information The origination address can be specified in the origination field of type GCLIB_ADDRESS_BLK in the GCLIB_MAKECALL_BLK structure. The address field in the GCLIB_ADDRESS_BLK con...
Page 465 - Forming a Destination Address String; numberstr; Table 34, “Configurable Call Parameters When Using H.323”
Dialogic ® Global Call IP Technology Guide — November 2007 465 Dialogic Corporation 8.3.17.3 Forming a Destination Address String Variance for H.323 The destination address is formed by concatenating values from three different sources: • the GC_MAKECALL_BLK • the numberstr parameter of gc_MakeCall(...
Page 466 - Table 35, “Configurable Call Parameters When Using SIP”
466 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Variance for SIP The format of the destination address for a SIP call is: user@host; param=value with the elements representing: user a user name or phone number host a domain name or an IP address param=value an opt...
Page 467 - Scenario 2
Dialogic ® Global Call IP Technology Guide — November 2007 467 Dialogic Corporation /* set GCLIB_ADDRESS_BLK with destination string & type*/strcpy(gcmkbl.gclib->destination.address,pDestAddrBlk);gcmkbl.gclib->destination.address_type = GCADDRTYPE_TRANSPARENT; /* calling the function with ...
Page 468 - Destination Address Interpretation
468 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation 8.3.17.4 Destination Address Interpretation Note: The following information applies when using H.323 only. Once a destination string is formed as described in the previous section, the H.323 stack treats the string a...
Page 469 - Scenario 3
Dialogic ® Global Call IP Technology Guide — November 2007 469 Dialogic Corporation char *pDestAddrBlk = "127.0.0.1";char *pDestAddrStr = "TEL:111,TEL:222,76543"; /* set GCLIB_ADDRESS_BLK with destination string & type*/strcpy(gcmkbl.gclib->destination.address,pDestAddrBlk);gc...
Page 470 - Scenario 6; Specifying a Timeout; timeout; Variances for IP”
470 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation /* set GCLIB_ADDRESS_BLK with destination string & type (H323-ID) */strcpy(gcmkbl.gclib->destination.address,pDestAddrBlk);gcmkbl.gclib->destination.address_type = GCADDRTYPE_DOMAIN; gclib_mkbl.ext_datap = ...
Page 471 - Code Examples
Dialogic ® Global Call IP Technology Guide — November 2007 471 Dialogic Corporation Note: When using the H.323 protocol, the application may receive a timeout when trying to make an outbound call if network congestion is encountered and a TCP connection cannot be established. In this case, the SETUP...
Page 474 - SIP-Specific Code Example
474 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation if(rc == 0) { gclib_mkbl.ext_datap = target_datap; rc = gc_MakeCall(ldev, &crn, pDestAddrStr, &gcmkbl, MakeCallTimeout, EV_ASYNC); /* deallocate GC_PARM_BLK pointer */ gc_util_delete_parm_blk(target_datap); }...
Page 477 - dev
Dialogic ® Global Call IP Technology Guide — November 2007 477 Dialogic Corporation An IPT network device (iptBx) can also used for host LAN disconnect alarms. Note that all other Dialogic ® Global Call API alarms for IP are reported on IP Media (ipm) devices, not IPT network (ipt) devices. Note: Ap...
Page 478 - reason
478 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Variance for SIP This function does not apply to SIP call transfer. The SIP stack does not contact the Transfer Target or Transferred-To party (party C) until party A calls gc_InvokeXfer( ) , so there is no issue of ...
Page 480 - reqdatap; See; Table 38. Registration Information When Using H.323
480 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Deregister options are specified by inserting the following parameter element into the GC_PARM_BLK referenced by reqdatap : IPSET_REG_INFO IPPARM_OPERATION_DEREGISTERand one of the following parameter data values: • ...
Page 481 - function is shown in Table 39.
Dialogic ® Global Call IP Technology Guide — November 2007 481 Dialogic Corporation Multiple aliases and supported prefix information is supported when the target protocol for registration is H.323. Variance for SIP When using SIP, the registration information that can be included in the GC_PARM_BLK...
Page 482 - ignored; This function is only supported in asynchronous mode.; Table 39. Registration Information When Using SIP
482 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Multiple aliases are supported when the target protocol for registration is SIP, but prefix information is ignored . When using SIP, auto-refresh is enabled by default if there is no IPSET_REG_INFO / IPPARM_REG_AUTOR...
Page 483 - datap
Dialogic ® Global Call IP Technology Guide — November 2007 483 Dialogic Corporation The following are the relevant function parameters: target_type GCTGT_CCLIB_NETIF target_id IPT board device datap pointer to GC_PARM_BLK with additional response information Because some of the data may be protocol ...
Page 485 - for IP”
Dialogic ® Global Call IP Technology Guide — November 2007 485 Dialogic Corporation When using the gc_SetConfigData( ) function on a board device (the first three bullets above), use the following function parameter values: target_type GCTGT_CCLIB_NETIF target_id An IPT board device that can be obta...
Page 488 - Table 34, “Configurable; Setting Call Parameters for the Next Call
488 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation • set SIP message information fields • set IP Media Library parameters (for example, echo cancellation parameters) for a specified line device • associate and disassociate a T.38 Fax device with a Media device The gc...
Page 489 - Setting Call Parameters for the Next and Subsequent Calls; Setting SIP Message Information Fields
Dialogic ® Global Call IP Technology Guide — November 2007 489 Dialogic Corporation target_id CRN (if it exists) or line device (if a CRN does not exist) duration GC_SINGLECALL infoparmblkp a pointer to a GC_PARM_BLK with a list of parameters (including coder information) to be set for the line devi...
Page 491 - “IPT Board Devices”
Dialogic ® Global Call IP Technology Guide — November 2007 491 Dialogic Corporation See Section 4.26.3, “Initiating a Switch from Audio to T.38 Fax” , on page 322 for more information and a code example. 8.3.27 gc_Start( ) Variances for IP The gc_Start( ) function is used to configure the Dialogic ®...
Page 492 - any
492 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation override the default value for any fields in any of these data structures to configure the virtual boards as desired. After the fields in the IPCCLIB_START_DATA and IP_VIRTBOARD structures have been configured, the I...
Page 493 - on page 553 for more; Default configuration parameter values; . If this configuration is not appropriate, or if the application
Dialogic ® Global Call IP Technology Guide — November 2007 493 Dialogic Corporation 2016 devices available (total_max_calls = 2016, three Dialogic ® IPT boards), you can specify that all 2016 devices can be used for both H.323 calls and SIP calls (h323_max_calls = sip_max_calls = 2016), or half are ...
Page 496 - GCEV_EXTENSIONCMPLT [termination event for
496 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation • GCEV_ACCEPT_MODIFY_CALL_FAIL (supported in SIP only) • GCEV_ACCEPT_XFER • GCEV_ACCEPT_XFER_FAIL • GCEV_ACKCALL (deprecated; equivalent is GCEV_CALLPROC) • GCEV_ALARM • GCEV_ALERTING (maskable event) • GCEV_ANSWERED...
Page 497 - GCEV_SERVICERESPCMPLT
Dialogic ® Global Call IP Technology Guide — November 2007 497 Dialogic Corporation • GCEV_OPENEX_FAIL • GCEV_PROCEEDING (maskable event) • GCEV_REQ_MODIFY_CALL (supported in SIP only) • GCEV_REQ_MODIFY_UNSUPPORTED (supported in SIP only) • GCEV_REJ_INIT_XFER (supported in H.323/H.450.2 only) • GCEV...
Page 499 - Overview of Parameter Usage
Dialogic ® Global Call IP Technology Guide — November 2007 499 Dialogic Corporation 9 9. IP-Specific Parameters This chapter describes the Dialogic ® Global Call API parameter set IDs and parameter IDs (parm IDs) that are used with IP technology. Topics include: • Overview of Parameter Usage . . . ....
Page 500 - Table 42. Summary of Parameter Sets and Parameter Usage (Continued)
500 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Parameters IPSET_CALLINFO IPPARM_BEARERCAP gc_SetUserInfo( ) (GC_SINGLECALL only) gc_MakeCall( ) from GCEV_OFFERED via gc_GetMetaEvent( ) H.323 only IPPARM_CALLDURATION --- --- gc_Extension( ) (IPEXTID_GE...
Page 510 - Parameter Set Reference; The parameter sets documented in this section include:
510 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Parameters 9.2 Parameter Set Reference This section contains reference information on the parameters in each parameter set used for IP telephony under Global Call. The table in each of the following subse...
Page 525 - Table 59. IPSET_NONSTANDARDCONTROL Parameter Set
Dialogic ® Global Call IP Technology Guide — November 2007 525 Dialogic Corporation IP-Specific Parameters 9.2.17 IPSET_NONSTANDARDCONTROL Table 59 shows the parameter IDs in the IPSET_NONSTANDARDCONTROL parameter set. Table 59. IPSET_NONSTANDARDCONTROL Parameter Set Parameter IDs Data Type & Si...
Page 526 - IPSET_NONSTANDARDDATA; Table 60. IPSET_NONSTANDARDDATA Parameter Set
526 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Parameters 9.2.18 IPSET_NONSTANDARDDATA Table 60 shows the parameter IDs in the IPSET_NONSTANDARDDATA parameter set. 9.2.19 IPSET_PROTOCOL Table 61 shows the parameter IDs in the IPSET_PROTOCOL parameter ...
Page 529 - use the “extended”
Dialogic ® Global Call IP Technology Guide — November 2007 529 Dialogic Corporation IP-Specific Parameters 9.2.23 IPSET_SIP_MSGINFO Table 65 shows the parameter IDs in the IPSET_SIP_MSGINFO parameter set. Note that access to SIP message header info fields is disabled by default and must be explicitl...
Page 534 - Table 70. IPSET_TRANSACTION Parameter Set
534 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Parameters 9.2.28 IPSET_TRANSACTION Table 70 shows the parameter IDs in the IPSET_TRANSACTION parameter set. IPPARM_AUDIO_REQUESTED Type: int Size: sizeof(int) Provides notification of an incoming request...
Page 535 - IPSET_TUNNELEDSIGNALMSG; Table 71. IPSET_TUNNELEDSIGNALMSG Parameter Set
Dialogic ® Global Call IP Technology Guide — November 2007 535 Dialogic Corporation IP-Specific Parameters 9.2.29 IPSET_TUNNELEDSIGNALMSG Table 71 shows the parameter IDs in the IPSET_TUNNELEDSIGNALMSG parameter set, which is used when sending or receiving tunneled signaling messages (TSMs) in the H...
Page 537 - IP-Specific Data Structures; These data structures are defined in the
Dialogic ® Global Call IP Technology Guide — November 2007 537 Dialogic Corporation 10 10. IP-Specific Data Structures This chapter describes the data structures that are specific to IP technology. Note: These data structures are defined in the gcip.h header file. • GC_PARM_DATA_EXT . . . . . . . . ...
Page 538 - retrieved parameter data; Dialogic® Global Call API Library Reference
538 Dialogic® Global Call IP Technology Guide — November 2007 Dialogic Corporation GC_PARM_DATA_EXT — retrieved parameter data GC_PARM_DATA_EXT retrieved parameter data typedef struct { unsigned long version; void* pInternal; unsigned long set_ID; unsigned long parm_ID; unsigned long data_size; void...
Page 540 - IP_ADDR — local IP address; The IP_ADDR structure is used to specify a local IP address.; Field Descriptions; The fields of the IP_ADDR data structure are described as follows:
540 Dialogic® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP_ADDR — local IP address IP_ADDR local IP address typedef struct{ unsigned char ip_ver; union { unsigned int ipv4; unsigned int ipv6[4] }u_ipaddr;}IP_ADDR, *IP_ADDRP; Description The IP_ADDR structure is used to s...
Page 541 - basic audio capability information — IP_AUDIO_CAPABILITY
Dialogic ® Global Call API Library Reference — November 2007 541 Dialogic Corporation basic audio capability information — IP_AUDIO_CAPABILITY IP_AUDIO_CAPABILITY basic audio capability information typedef struct{ unsigned long frames_per_pkt; long VAD;} IP_AUDIO_CAPABILITY; Description The IP_AUD...
Page 542 - IP_AUTHENTICATION — SIP digest authentication data
542 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_AUTHENTICATION — SIP digest authentication data IP_AUTHENTICATION SIP digest authentication data typedef struct{ unsigned short version; char* realm; char* identity; char* username; char* password;} IP_AUTHENTIC...
Page 543 - basic capability information — IP_CAPABILITY; capability
Dialogic ® Global Call API Library Reference — November 2007 543 Dialogic Corporation basic capability information — IP_CAPABILITY IP_CAPABILITY basic capability information typedef struct{ int capability; int type; int direction; int payload_type; IP_CAPABILITY_UNION extra; char rfu[0x10];} IP_CAPA...
Page 544 - IP_CAPABILITY — basic capability information
544 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_CAPABILITY — basic capability information direction Identifies the direction and state of the stream that the media attributes in this structure apply to. Possible values are: • IP_CAP_DIR_LCLRECEIVE – Capabilit...
Page 545 - parameters for different capability categories; audio
Dialogic ® Global Call API Library Reference — November 2007 545 Dialogic Corporation parameters for different capability categories — IP_CAPABILITY_UNION IP_CAPABILITY_UNION parameters for different capability categories typedef union{ IP_AUDIO_CAPABILITY audio; IP_VIDEO_CAPABILITY video; IP_DATA_C...
Page 546 - IP_CONNECT — associate a Media device with a T.38 Fax device
546 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_CONNECT — associate a Media device with a T.38 Fax device IP_CONNECT associate a Media device with a T.38 Fax device typedef struct{ unsigned short version; int mediaHandle; int faxHandle; eIPConnectType_e conne...
Page 547 - DTMF information; The DTMF digit string buffer 32 characters in size
Dialogic ® Global Call API Library Reference — November 2007 547 Dialogic Corporation DTMF information — IP_DTMF_DIGITS IP_DTMF_DIGITS DTMF information typedef struct{ char digit_buf[IP_MAX_DTMF_DIGITS]; unsigned int num_digits;} IP_DTMF_DIGITS; Description The IP_DTMF_DIGITS data structure is use...
Page 548 - IP_DATA_CAPABILITY — basic data capability information; The recommended value for T.38 coders is 14400.
548 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_DATA_CAPABILITY — basic data capability information IP_DATA_CAPABILITY basic data capability information typedef struct{ int max_bit_rate;} IP_DATA_CAPABILITY; Description The IP_DATA_CAPABILITY data structure...
Page 549 - H.221 nonstandard data — IP_H221NONSTANDARD; extension
Dialogic ® Global Call API Library Reference — November 2007 549 Dialogic Corporation H.221 nonstandard data — IP_H221NONSTANDARD IP_H221NONSTANDARD H.221 nonstandard data typedef struct{ int country_code; int extension; int manufacturer_code;} IP_H221NONSTANDARD; Description The IP_H221NONSTANDAR...
Page 550 - IP_REGISTER_ADDRESS — gatekeeper registration information; The meaning is protocol dependent:
550 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_REGISTER_ADDRESS — gatekeeper registration information IP_REGISTER_ADDRESS gatekeeper registration information typedef struct{ char reg_client [IP_REG_CLIENT_ADDR_LENGTH]; char reg_server [IP_REG_SERVER_ADDR_LEN...
Page 551 - TSM protocol alternate ID — IP_TUNNELPROTOCOL_ALTID
Dialogic ® Global Call API Library Reference — November 2007 551 Dialogic Corporation TSM protocol alternate ID — IP_TUNNELPROTOCOL_ALTID IP_TUNNELPROTOCOL_ALTID TSM protocol alternate ID typedef struct{ unsigned long version; char protocolType[MAX_TSM_ALTID_VARS_LENGTH]; int protocolTypeLength; cha...
Page 552 - tunneled signaling protocol object ID
552 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_TUNNELPROTOCOL_OBJECTID — tunneled signaling protocol object ID IP_TUNNELPROTOCOL_OBJECTID tunneled signaling protocol object ID typedef struct{ unsigned long version; char TunneledProtocol_Oid[MAX_TSM_OBJID_VAR...
Page 553 - information about an IPT board device — IP_VIRTBOARD
Dialogic ® Global Call API Library Reference — November 2007 553 Dialogic Corporation information about an IPT board device — IP_VIRTBOARD IP_VIRTBOARD information about an IPT board device typedef struct{ unsigned short version; unsigned int total_max_calls; unsigned int h323_max_calls; unsigned in...
Page 554 - IP_VIRTBOARD — information about an IPT board device
554 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IP_VIRTBOARD — information about an IPT board device h323_max_calls The maximum number of IPT devices that can be used for H.323 calls. Valid values are in the range from IP_CFG_NO_CALLS (= 0) to IP_CFG_MAX_AVAILAB...
Page 558 - IP call control library configuration information
558 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation IPCCLIB_START_DATA — IP call control library configuration information IPCCLIB_START_DATA IP call control library configuration information typedef struct{ unsigned short version; unsigned char delimiter; unsigned ...
Page 560 - REQUEST_ERROR — SIP request retry info; version; be modified by applications.
560 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation REQUEST_ERROR — SIP request retry info REQUEST_ERROR SIP request retry info typedef struct{ unsigned short version; unsigned int error; char method[IP_SIP_METHODSIZE]}REQUEST_ERROR, *REQUEST_ERRORP; Description T...
Page 561 - RTP address — RTP_ADDR
Dialogic ® Global Call API Library Reference — November 2007 561 Dialogic Corporation RTP address — RTP_ADDR RTP_ADDR RTP address typedef struct{ int version unsigned short port; unsigned char ip_ver; union { unsigned int ipv4; unsigned int ipv6[4]; } u_ipaddr;} RTP_ADDR, *RTP_ADDRP; Description T...
Page 562 - SIP_TLS_ENGINE — TLS engine configuration information
562 Dialogic ® Global Call API Library Reference — November 2007 Dialogic Corporation SIP_TLS_ENGINE — TLS engine configuration information SIP_TLS_ENGINE TLS engine configuration information typedef struct{ unsigned long version; /* system use only */ unsigned short sip_tls_port; EnumSIP_TLS_METHOD...
Page 563 - TLS engine configuration information — SIP_TLS_ENGINE
Dialogic ® Global Call API Library Reference — November 2007 563 Dialogic Corporation TLS engine configuration information — SIP_TLS_ENGINE • ENUM_TLS_METHOD_TLS_V1 – use TLS ver. 1 (Default value) local_rsa_private_key_filename name of file containing TLS RSA private key of local certificate. File ...
Page 565 - IP-Specific Error Codes
Dialogic ® Global Call IP Technology Guide — November 2007 565 Dialogic Corporation 11 11. IP-Specific Event Cause Codes This chapter lists the IP-specific error and event cause codes and provides a description of each code. The codes described in this chapter are defined in the gcip_defs.h header f...
Page 569 - Error Codes When Using H.323
Dialogic ® Global Call IP Technology Guide — November 2007 569 Dialogic Corporation IP-Specific Event Cause Codes IPERR_UNKNOWN_API_GUID This is the result of either passing in a bogus GUID or one that is not found in the current DLL or executable. IPERR_UNRESOLVABLE_DEST_ADDRESS No Gateway, Gatekee...
Page 570 - For
570 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Event Cause Codes IPEC_CHAN_REJECT_separateStackEstablishmentFailed A request to run the data portion of a call on a separate stack failed. IPEC_CHAN_REJECT_invalidSessionID Attempt by the slave to set th...
Page 574 - Internal Disconnect Reasons
574 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Event Cause Codes 11.3 Internal Disconnect Reasons The following internal disconnect reasons are supported when using H.323: IPEC_InternalReasonBusy (0x3e9, 1001 decimal) Cause 01; Busy IPEC_InternalReaso...
Page 582 - RAS Failure Reasons
582 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Event Cause Codes IPEC_Q931Cause101MessageNotCompatibleWithCallState (0xc1d, 3101 decimal) Q.931 cause 101 - Message not compatible with call state; indicates that a message that is incompatible with the ...
Page 584 - Failure Response Codes When Using SIP
584 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Event Cause Codes IPEC_RASFullRegistrationRequired (0xfc0, 4032 decimal) Registration permission has expired. (In RRJ messages.) IPEC_RASRouteCallToSCN (0xfc1, 4033 decimal) The call was routed to a switc...
Page 589 - SIP Message Error Codes; MIME memory pool is exhausted.; SIP Registration Error Codes; The SIP stack ran out of resources to process request.
Dialogic ® Global Call IP Technology Guide — November 2007 589 Dialogic Corporation IP-Specific Event Cause Codes IPEC_SIPReasonStatusCANCEL (0x16a9, 5801 decimal) SIP reason status 801. CANCEL code. SIP Message Error Codes IPEC_MIME_BUFF_TOO_SMALL MIME buffer size is smaller than the incoming MIME ...
Page 591 - Supplementary Reference; References to More Information; The following publications provide related information:
Dialogic ® Global Call IP Technology Guide — November 2007 591 Dialogic Corporation 12 12. Supplementary Reference Information This chapter lists related publications and includes other reference information as follows: • References to More Information . . . . . . . . . . . . . . . . . . . . . . . ....
Page 592 - Supplementary Reference Information; SIP Transaction Timer Values
592 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Supplementary Reference Information 12.2 SIP Transaction Timer Values This section provides information on the various timers that affect Global Call’s behavior when handling SIP transactions. The duration values for...
Page 593 - DNS Configuration for SIP
Dialogic ® Global Call IP Technology Guide — November 2007 593 Dialogic Corporation Supplementary Reference Information cancelInviteNoResponseTimer When sending a CANCEL request on an Invite request, the User Agent waits cancelInviteNoResponseTimer milliseconds before timeout termination if there is...
Page 594 - Called Party Address List; Called party address lists are formatted as follows:
594 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Supplementary Reference Information 12.4 Called and Calling Party Address List Format When Using H.323 This section provides reference information about called and calling party address list format: • Called Party Ad...
Page 595 - Calling Party Address List; Called Party Address
Dialogic ® Global Call IP Technology Guide — November 2007 595 Dialogic Corporation Supplementary Reference Information – Party Number Type ::= (select either the numerical or string value from the following list): • 0.PUU - The numbering plan follows the E.163 and E.164Recommendations. • PUI - The ...
Page 596 - Examples of Called and Calling Party Addresses; Some examples of called party and calling party addresses are:
596 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Supplementary Reference Information Examples of Called and Calling Party Addresses Some examples of called party and calling party addresses are: • Called and Calling Party addresses: 1111;1111 • NAME: John, NAME: Jo...
Page 597 - Glossary; unsupervised transfer
Dialogic ® Global Call IP Technology Guide — November 2007 597 Dialogic Corporation Glossary alias: A nickname for a domain or host computer on the Internet. blind transfer: See unsupervised transfer . call transfer: See supervised transfer and unsupervised transfer . codec: A device that converts a...
Page 598 - and software that initiate and receive calls over a SIP network.; unsupervised transfer:; the person transferring the call.
598 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation Q.931: The Q.931 protocol defines how each H.323 layer interacts with peer layers, so that participants can interoperate with agreed upon formats. The Q.931 protocol resides within H.225.0. As part of H.323 call cont...
Page 599 - Index; Numerics
Dialogic ® Global Call IP Technology Guide — November 2007 599 Dialogic Corporation Index Numerics 180 Ringing sending 444 183 Session Progress sending 444 A Alarm Source Object (ASO) 264 B Bearer Capability IE 122 busy reason codes, setting 132 C call duration retrieving 143set ID and parameter ID ...