Session Agent Status Based on SIP Response
The Oracle® Enterprise Session Border Controller can take session agents out of service based on SIP response codes that you configure, and you can also configure SIP response codes that will keep the session agent in service.
With this feature disabled, the Oracle® Enterprise Session Border Controller determines session agents’ health by sending them ping messages using a SIP method that you configure. Commonly, the method is an OPTIONS request. If it receives any response from the session agent, then the Oracle® Enterprise Session Border Controller deems that session agent available for use.
However, issues can arise when session agents are administratively out of service, but able to respond to OPTIONs requests. A session agent like this might only respond with a 200 OK when in service, and send a 4xx or 5xx message otherwise.
The session agent status feature lets you set the SIP response message that either takes a session agent out of service or allows it to remain in service when it responds to the Oracle® Enterprise Session Border Controller’s ping request.
Details of this feature are as follows:
- The Oracle® Enterprise Session Border Controller only considers a session agent in service when it responds to a request method you set with the final response code that you also set. If a final response code is set, then provisional responses are not used for determining whether or not to take a session agent out of service. If the Oracle® Enterprise Session Border Controller receives a final response code that does not match the session agent configuration, it treats the session agent as though it had not responded.
- The Oracle® Enterprise Session Border Controller takes a session agent out of service when it receives an error response for dialog creating request with a response code listed in the new out-service-response-codes parameter.
In the case where a the session agent’s response has a Retry-After header, the Oracle® Enterprise Session Border Controller tries to bring the session agent back into service after the period of time specified in the header. To do so, it sends another ping request.
There are two lists you can configure in the session agent configuration to determine status:
- In-service list—Set in the ACLI ping-in-service-response-codes parameter, this list defines the response codes that keep a session agent in service when they appear in its response to the Oracle® Enterprise Session Border Controller’s ping request. Furthermore, the Oracle® Enterprise Session Border Controller takes the session agent out of service should a response code be used that does not appear on this list.
- Out-of-service list—Set in the ACLI out-service-response-codes parameter, this list defines the response codes that take a session agent out of service when they appear in its response to the Oracle® Enterprise Session Border Controller’s ping request or any dialog-creating request.
When the Oracle® Enterprise Session Border Controller receives a session agent’s response to its ping request, it first checks to see if there is an in-service list of responses configured for that session agent. If the list is configured and the Oracle® Enterprise Session Border Controller determines that there is a match, the session agent is deemed in service. Otherwise it takes the session agent out of service. In this way, the in-service list takes precedence over the out-of-service list. If you configure the in-service list, then the Oracle® Enterprise Session Border Controller ignores the out-of-service list.
If there is no list of in-service responses for the session agent, then the Oracle® Enterprise Session Border Controller checks the out of service list. If it is configured and the Oracle® Enterprise Session Border Controller determines that there is a match, the Oracle® Enterprise Session Border Controller removes that session agent from service. If there is no match, then the session agent is deemed in service.