Dialogic Dialogic Global Call IP IP Phone User Manual


 
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 that the library would report in an outgoing INVITE request.
If there is no channel available to handle an incoming connection request (for example, all
channels in use or gc_WaitCall( ) not having been called), Global Call sends a “busy”
response. The specific code that is sent can be configured by means of the
IPSET_SIP_RESPONSE_CODE/ IPPARM_BUSY_REASON parameter, but the default busy
response is 486 Busy Here. This behavior allows a remote UA to use an OPTIONS request to
determine whether it can initiate a new call on the target system.
The default Allow header will be the following if supplementary services (call transfer) is not
enabled:
Allow: INVITE, CANCEL, ACK, BYE
or the following if supplementary services is enabled:
Allow: INVITE, CANCEL, ACK, BYE, REFER, NOTIFY
Note that in either case, OPTIONS is not included in the list.
4.14.2 Enabling Application Access to OPTIONS Messages
The ability to send and respond to SIP OPTIONS requests under application control is an optional
feature that can be enabled or disabled at the time that the gc_Start( ) function is called.
The mandatory INIT_IP_VIRTBOARD( ) utility functions populates the IP_VIRTBOARD
structure with default values. The default values of two fields in the IP_VIRTBOARD structure
must be overridden to enable application access to OPTIONS messages:
The E_SIP_OPTIONS_Access field must be set to ENUM_Enabled. The default value is
ENUM_Disabled, which disables access to OPTIONS messages.
The sip_msginfo-mask field must be set to the OR of IP_SIP_MSGINFO_ENABLE and
IP_SIP_MIME_ENABLE (and any other appropriate mask values). The default mask value
disables access to the header fields and MIME bodies of SIP messages, which would prevent
the application from doing anything useful with OPTIONS messages.
See the reference page for IP_VIRTBOARD on page 553 for more information on these fields.
The following code snippet provides an example of enabling OPTIONS access for two virtual
boards: