Jump to: navigation, search

Enhanced handling of XS requests

Starting with version 8.1.103.80, SIP Server can handle different HTTP error responses from SIP Feature Server for Dial Plan extended service (XS) requests in an enhanced way to address connection instabilities and provide a quality response to the origination side.

SIP Server sends an XS request to one of the SIP Feature Server URLs, starts the timer configured by the xs-post-timeout option, and waits for a Feature Server response. When the timeout expires, SIP Server sends an XS request to an alternative Feature Server URL. If SIP Server receives an error response within the timer period, it sends an XS request to an alternative Feature Server URL. In both cases, SIP Server sends an XS request to an alternative Feature Server URL only once.

When a Feature Server URL becomes out of service, SIP Server does not send subsequent requests to it until the Feature Server URL becomes in service. The Feature Server URL remains out of service, if the number of failed heartbeat requests exceeds the configured threshold (set in the xs-missed-heartbeat-threshold option), and that URL will not be selected for request processing, until it responds with a 200 OK message for a heartbeat request.

This table summarizes SIP Server actions for handling certain error responses received from Feature Server.

Error Code Description Action
400 Bad Request Invalid Request Format SIP Server responds to a caller with the 503 message. It doesn't resend a request and doesn't mark the Feature Server URL as out of service.
404 Not Found Invalid API SIP Server responds to a caller with the 503 message. It doesn't resend a request and doesn't mark the Feature Server URL as out of service.
501 Not Implemented Unsupported operation type SIP Server responds to a caller with the 503 message. It doesn't resend a request and doesn't mark the Feature Server URL as out of service.
503 Service Unavailable Feature Server is unable to provide a response SIP Server resends a request with an alternative Feature Server URL and marks the Feature Server URL that responded with 503 as out of service.
Any error response or Request Timeout Feature Server internal error or unable to process a request SIP Server resends a request with an alternative Feature Server URL and marks the Feature Server URL that responded with 503 as out of service, and responds to a caller with 503 on receiving an error or a timeout for retry.

When none of the Feature Server URLs are available and, as a result, the Feature Server VOIP Service DN is placed out of service, SIP Server starts rejecting call requests with a 503 Service Unavailable message.

SIP Server running in primary mode switches over to backup mode if there is no active connection to any of the configured Feature Server URLs. If the switchover-on-xs-oos option is set to true, SIP Server reports the SERVICE_UNAVAILABLE status to LCA/SCS to switch over to backup mode instead of rejecting requests. This behavior ensures availability of the dial plan resolution in case of network instabilities.

SIP Server starts the switchover process after the timeout defined by the time-before-switchover-on-xs-oos option expires.

To control how long an XS request is considered active, use the xs-request-timeout option. If no response is received within this timeout, SIP Server rejects the request immediately with a 503 Service Unavailable message.

All the above features can be enabled by setting the enable-enhanced-dialplan-handling option to true in the Feature Server VOIP Service DN (service-type=extended).

Configuration Options

enable-enhanced-dialplan-handling

Setting: [TServer] section, the SIP Server Application (standalone SIP Server) or the VOIP Service DN with service-type=sip-cluster-nodes
Default Value: false
Valid Values: true, false
Changes Take Effect: After restart

When set to true, enables enhanced handling of Dial Plan extended service (XS) requests by SIP Server. This includes:

  • Handling of various error codes sent as responses from Feature Server.
  • Resending XS requests once on recoverable error responses from Feature Server.
  • Setting a timeout (xs-request-timeout) for each dial plan request.
  • Setting a timeout specific to the heartbeat requests (xs-heartbeat-timeout).
  • Marking the URL as out of service on heartbeat failures based on the threshold set by xs-missed-heartbeat-threshold.
  • Rejecting any XS request or switching SIP Server to backup mode when no active Feature Server URLs are available (the switchover-on-xs-oos option).


xs-request-timeout

Setting: [TServer] section, the VOIP Service DN with service-type=extended
Default Value: 8
Valid Values: 4-32
Changes Take Effect: For the next XS dial plan request

Specifies the timeout, in seconds, that SIP Server waits for a Feature Server response on an XS request. The timeout starts when the XS request is added to the queue and stops when a response is received from Feature Server. When the timeout expires, SIP Server rejects the XS request with a corresponding error. The request timeout must be at least twice as long as the xs-post-timeout option value.


xs-post-timeout

Setting: [TServer] section, the VOIP Service DN with service-type=extended
Default Value: 4
Valid Values: 2-16
Changes Take Effect: For the next XS dial plan request

Specifies the timeout, in seconds, for an XS request in transit. The timeout starts when the XS request is sent out and stops when a response is received from Feature Server. When the timeout expires, SIP Server either resends the XS request to an alternative Feature Server URL or rejects with a corresponding error if the limit of retries (more than 1) has exceeded. The post timeout must not be more than half of the xs-request-timeout option value.


xs-heartbeat-timeout

Setting: [TServer] section, the VOIP Service DN with service-type=extended
Default Value: 5
Valid Values: 2-120
Changes Take Effect: For the next XS heartbeat request

Specifies the timeout, in seconds, for an XS heartbeat request. The timeout starts when an XS heartbeat request is posted to a Feature Server URL and stops when a response for a heartbeat is received from Feature Server. When the timeout expires, SIP Server counts the number of failures and marks the URL as out of service if the threshold specified by the xs-missed-heartbeat-threshold option is reached. The heartbeat timeout must be greater than the xs-post-timeout option value.


xs-missed-heartbeat-threshold

Setting: [TServer] section, the VOIP Service DN with service-type=extended
Default Value: 3
Valid Values: 1-10
Changes Take Effect: Immediately

Specifies the maximum number of failed heartbeat requests that SIP Server receives from a Feature Server URL, before marking the corresponding URL as out of service.


switchover-on-xs-oos

Setting: [TServer] section, the SIP Server Application (standalone SIP Server) or the VOIP Service DN with service-type=sip-cluster-nodes
Default Value: false
Valid Values: true, false
Changes Take Effect: Immediately

Specifies the SIP Server action in case of losing connectivity with all Feature Server URLs. SIP Server marks a URL as out of service when the threshold of failed heartbeat requests set by the xs-missed-heartbeat-threshold option is reached. When set to true and all configured Feature Server URLs become out of service, SIP Server reports the SERVICE_UNAVAILABLE status to LCA/SCS to switch over to backup mode. When set to false, SIP Server responds with a 503 Service Unavailable message to all calls, until one of the Feature Server URLs becomes available.


time-before-switchover-on-xs-oos

Setting: [TServer] section, the SIP Server Application (standalone SIP Server) or the VOIP Service DN with service-type=sip-cluster-nodes
Default Value: 1
Valid Values: 0-60
Changes Take Effect: Immediately

Specifies the timeout, in seconds, that SIP Server waits before reporting the SERVICE_UNAVAILABLE status in a scenario described in the switchover-on-xs-oos option. When set to 0 (zero), SIP Server reports the SERVICE_UNAVAILABLE status immediately after the Feature Server VOIP Service DN is detected as out of service.


xs-pool-size

Setting: [TServer] section, the SIP Server Application (standalone SIP Server) or the VOIP Service DN with service-type=extended
Default Value: 10
Valid Values: Any number of connections that is possible for the system
Changes Take Effect: For the next XS request

Specifies the maximum number of connections to one Feature Server URL. The setting at a DN level takes priority.


xs-heartbeat-interval

Setting: [TServer] section, the SIP Server Application (standalone SIP Server) or the VOIP Service DN with service-type=extended
Default Value: 10
Valid Values: 0-65535
Changes Take Effect: For the next XS request

Specifies the heartbeat messages interval, in seconds. Value of 0 (zero) disables heartbeats. The setting at a DN level takes priority.


Feature Limitations

  • SIP Server rejects the Dial Plan XS requests with a 503 Service Unavailable message instead of a 603 Decline message, when:
    • A retry limit for a request is exceeded.
    • None of the Feature Server URLs are available to provide a service.
  • This feature depends on support from a specific version of SIP Feature Server. Consult corresponding documentation for the availability of this new feature in that component.
This page was last edited on October 21, 2020, at 16:52.
blog comments powered by Disqus