Dialogic IP Phone 05-2239-009 User Manual

Page of 604
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 
 utility functions populates the 
 
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.
 on page 553 for more information on these fields.
The following code snippet provides an example of enabling OPTIONS access for two virtual 
boards: