Dialogic Global Call IP Benutzerhandbuch

Seite von 604
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 transport. 
When TCP is enabled, the Dialogic
®
 Global Call API library listens for incoming TCP connections 
as well as UDP connections on the SIP signaling port that is configured for the board. 
When TCP is enabled, an outbound message is sent using TCP if any of the following three 
conditions is true:
The board device was configured with TCP as the default transport protocol if there is no 
proxy, or with TCP as the outbound proxy protocol if there is a SIP proxy configured.
TCP is explicitly specified by setting the string “;transport=tcp” in the Request-URI header 
field before the message is sent. (Note that this requires the SIP Message Info feature to have 
been enabled by setting the IP_SIP_MSGINFO_ENABLE mask value in the 
sip_msginfo_mask field of IP_VIRTBOARD before starting the board.)
The size of the outgoing message is larger than the configured maximum size for UDP 
messages, which is 1300 by default. 
If none of these conditions is true, UDP is used as the default transport protocol. 
Note that network conditions may cause UDP packets to be lost, which can cause SIP messages to 
be lost. And because SIP does not require some response messages to be retransmitted if the 
message is lost (1xx informational responses, for example), there are circumstances when the 
Global Call library is unable to generate a completion event because the expected response is never 
received. Applications should be written to handle cases caused by missing non-reliable response 
messages when using UDP transport protocol. 
The SIP transport protocol is configured by five fields in the 
 structure that is 
used in the gc_Start( ) function: 
E_SIP_tcpenabled
Enables TCP support. The default value disables TCP so that all outgoing messages are sent 
over UDP and incoming TCP messages are refused. No TCP capabilities are available unless 
this parameter is set to the Enabled value.
E_SIP_OutboundProxyTransport
Sets the transport protocol that is used by the SIP outbound proxy if the virtual board is 
configured with a proxy and TCP is enabled. The default value sets UDP as the transport for 
the proxy. Setting this parameter to the TCP value when TCP is not enabled, or when TCP is 
enabled but no proxy is configured causes a bad parameter error when gc_Start( ) is called.
E_SIP_Persistence
Sets the persistence for TCP connections, with options for no persistence (connection closed 
after each request), transaction persistence (connection closed when transaction is completed), 
or user persistence (connection maintained for the lifetime of the user of the transaction). The 
default is user persistence, which minimizes the number of times that sockets are set up and 
torn down.