Dialogic Global Call IP - Manuals
Dialogic Global Call IP – Manual in PDF format online.
Manuals:
Manual Dialogic Global Call IP
Summary
Dialogic ® Global Call IP Technology Guide – November 2007 3 Dialogic Corporation Contents Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 About This Publication . . . . . . . . . . . . . . . . . . . . . . ...
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 . . . . . . . . . . . . . . . . . . . . . . . . ...
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 . . . . . . . . . . . . . . . . . . . . . . . . ...
8 Dialogic ® Global Call IP Technology Guide – November 2007 Dialogic Corporation Contents 7.2 Configuring the Logging Facility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3787.2.1 Configuration File Overview. . . . . . . . . . . . . . . . . . . . . . . . ...
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 . . . . . . . . . . . . . . . . . . . . . . . . . ...
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...
Dialogic ® Global Call IP Technology Guide – November 2007 11 Dialogic Corporation Contents Figures 1 Typical H.323 Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2 H.323 Protocol Stack . . . . . . . . . . . . . . . . . . . ....
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 . . . . . . ....
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...
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...
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...
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 •...
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 ...
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...
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 ...
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...
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 ...
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...
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...
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...
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 ...
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...
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...
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...
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 ...
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...
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...
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 . . . ....
108 Dialogic ® Global Call IP Technology Guide — November 2007 Dialogic Corporation IP-Specific Operations • LAN Disconnection Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 • Setting Dialogic® IP Media Library Parameters . . . . . . . . . . . . ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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_...
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...
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_...
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...
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...
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...
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...
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...
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...
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...
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 • ...
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 ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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...
} } . . . 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...
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...
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...
/* 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);...
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...
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...
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...
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...
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...
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 ...
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: ...
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...
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 ...
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;...
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...
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...
• 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. ...
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: ...
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...
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...
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...
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...
// 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...
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'...
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...
// 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...
// 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,...
// 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 -...
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...
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...
“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 =...
• 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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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;...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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...
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...
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 ...
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 ...
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(...
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...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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...
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...
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...
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...
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 ...
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: • ...
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_...
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...
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("...
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...
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 ...
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...
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...
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...
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 ...
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 *...
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....
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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)...
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...
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...
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...
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...
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 ...
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...
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 ...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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,...
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...
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...
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 ...
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...
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 ...
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...
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...
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...
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...
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...
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...
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...
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...
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 ®...
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...
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 ...
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...
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...
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...
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...
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...
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:...
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...
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...
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...
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...
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 ...
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 (...
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 (...
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...
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...
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 ...
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 ...
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...
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...
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...
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...
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...
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-...
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 . . . . . . . . . . . . . . . . . . . . ....
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...
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 . . . . . . . . . . . . . . . . . . . . . ....
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 ...
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...
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...
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...
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...
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...
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 ...
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 ...
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....
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...
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 ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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(...
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...
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...
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...
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)...
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...
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...
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( )...
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...
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...
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(...
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...
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 ...
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...
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...
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 = ...
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...
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); }...
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...
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 ...
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: • ...
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...
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...
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 ...
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...
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...
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...
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 ®...
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...
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 ...
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...
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...
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 . . . ....
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...
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...
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...
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 ...
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...
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...
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...
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 . . . . . . . . ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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 ...
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...
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...
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...
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 ...
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...
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...
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...
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...
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 ...
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...
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 ...
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 . . . . . . . . . . . . . . . . . . . . . . . ....
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...
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...
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...
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 ...
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...
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...
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...
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 ...
Dialogic Manuals
-
Dialogic DM/IP481-2T1-PCI-100BT
Manual
-
Dialogic 6.2
Manual
-
Dialogic D/41D
Manual
-
Dialogic DM/V600BTEPEQ
Manual
-
Dialogic DN/I1200TEPHMP
Manual
-
Dialogic D/21H
Manual
-
Dialogic IMG 1004
Manual
-
Dialogic SS7G22
Manual
-
Dialogic DM/F300-1E1-PCI
Manual
-
Dialogic DM/V1200BTEPEQ
Manual
-
Dialogic 05-2239-009
Manual
-
Dialogic DM/V1200-4E1-PCI
Manual
-
Dialogic DM/V960A-4T1-PCI
Manual
-
Dialogic DM/V2400A-PCI
Manual
-
Dialogic IMG 1010
Manual
-
Dialogic SX-2000
Manual
-
Dialogic D/41H
Manual
-
Dialogic DM/F300-1E1-PCIU
Manual
-
Dialogic DMV160LP
Manual
-
Dialogic DMV1200BTEP
Manual