Dialogic Dialogic Global Call IP IP Phone User Manual


 
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 IP_VIRTBOARD 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.