SIP Options
This section explains how you can configure a limited list of specialized SIP features and/or parameters called options. The options described here were developed to meet specific needs not addressed by the standard SIP configuration parameters. Not all users have a need for these options.
Note:
Oracle recommends checking with your Oracle representative before applying any of these options.Overview
You can configure options for the SIP configuration and SIP interface. Both elements include a parameter (options) that you use to configure the options.
Global SIP Options
The following table lists the SIP options supported by the Oracle Communications Session Border Controller (SBC).
Option | Description |
---|---|
add-error-to-tag=no | If present (even when set to no), suppresses the addition of an Acme tag on 3xx-6xx responses. |
add-prov-to-tag=no | Prevents the SBC from adding a tag parameter to the To header (to-tag) to non-100 provisional responses to INVITE requests. Used when a provisional (101-199) response is received from the UAS on a client transaction without a to-tag. By default, the SBC adds the tag cookie in the response (as though it had a tag) sent back to the UAC for the associated server transaction. When you include this option in the SIP configuration, and the response from the UAS does not have a to-tag, the response forwarded to the UAC will not have a to-tag. |
add-reg-expires | Causes an Expires header to always be included in a REGISTER response with the registration caching and HNT traversal functions of the SBC. Use for endpoints that do not understand the Expires parameter in the Contact header. |
add-ruri-user=<methods> | Causes a userinfo portion to be
added to a Request-URI when one is not present. Used to support the OKI phone,
which registers a Contact of just an IP-Address but rejects initial INVITEs if
the Request_URI does not have a userinfo part.
<methods> is a comma-separated list of methods to which the option should apply. If more than one method is listed, the list must be enclosed in quotes. This option only applies to out-of-dialog requests (no tag parameter in the To header). However, if ACK is listed, it will apply to all ACK requests because an ACK is always supposed to have a to-tag. |
allow-notify-no-contact | Prevents the SBC from rejecting NOTIFYs with a 400 Bad Request response.NOTIFY requests without Contact header are allowed to pass through the SBC instead. |
call-id-host=<host> | Causes the
SBC to include a host
part (ID@host) in the Call-ID it generated.
<host> is the hostname (or IP address) that is to appear in the host part of the Call-ID. If not specified, the SIP port address is used. |
contact-endpoint=<param-name> | Defines a URL parameter to report
the real Contact address of an endpoint in a REGISTER message forwarded to a
registrar, when the
SBC is caching
registration. (plain or HNT).
If <param-name> is not specified, the default value endpoint is used. This parameter is added as a URL parameter in the Contact on the REGISTER message. In order for the registration cache to work properly, the softswitch/registrar is expected to include the endpoint parameter in the Request-URI of a SIP request it forwards to the address-of-record. |
contact-firewall=<param-name> | Defines a URL parameter to report
the NAT between the
SBC and the real
Contact address of an endpoint in a REGISTRAR message forwarded to a registrar
when the
SBC is doing
registration caching for NHT.
If <param-name> is not specified, the default value firewall is used. This parameter will be added as a URL parameter in the Contact on the REGISTER message. In order for the registration cache to work properly, the softswitch/registrar is expected to include the endpoint parameter in the Request-URI of any SIP request it forwards for the address-of-record. |
disable-privacy | Prevents the change of the P-Preferred-Identity to P-Asserted-Identity and lets the P-Preferred-Identity go through unchanged. |
drain-sendonly | Causes the
SBC to examine the SDP
attributes and change sendonly mode to sendrecv. This causes the endpoint
receiving the SDP to send RTP, which is required for HNT traversal endpoints to
work with media servers. The
SBC sets up the flow
so that RTP coming from the endpoint are dropped to prevent the UA that sent
the sendonly SDP from receiving packets.
See the option video-sbc-session also. |
encode-contact=<prefix> | Causes the
SBC to encode Contact
addresses into the userinfo part of the URI. It applies only to Contact address
that usually get the maddr parameter. Use when the
SBC needs requests
sent to the URI in the Contact sent instead to the
SBC. The host part of
the URI will have the
SBC’s address.
The <prefix> serves as a place between the original userinfo and the encoded address. If a <prefix> is specified, a default of +SD is used. Without this option, the SBC adds a maddr parameter. |
fix-to-header | For requests that have the
SBC address in both
the Request-URI and the To-URI, it sets the hostport of the To-URI to a local
policy’s next hop target on out-of-dialog requests (no to-tag).
This is the default IWF behavior, even without this option configured. |
forward-reg-callid-change | Addresses the case when an
endpoint reboots and performs a third party registration before its old
registration expires. During this re-registration, the contact header is the
same as it was pre-reregistration. As a consequence of the reboot, the SIP
Call-ID changes.
In this situation, the SBC does not forward the REGISTER to the registrar, because it believes the endpoint is already registered, based on a previous registration from the same Contact: header URI. To remedy this problem, the SBC now keeps track of the Call-ID in its registration cache. A new option in the SIP interface configuration element forces the SBC to forward a REGISTER message to the registrar when the Call-ID header changes in a REGISTER message received from a reregistering UAC. |
global-contact | Addresses interoperability in the
Dialog and Presence event packages that are used in hosted PBX and IP Centrex
offerings. This option enables persistent URIs in the Contact headers inserted
into outgoing SIP messages.
If this option is not used, URIs placed in the Contact header of outgoing messages are only valid within the context of the dialog to which the message is associated. |
ignore-register-service-route-oos | Prohibits a Register message from using a service route if that service route is an out-of-service session agent. |
load-limit=<cpu percentage> | Defines the CPU usage percentage at which the SBC should start rejecting calls. Default value is 90%. |
lp-sa-match=<match strategy> | Changes the ways local policies and session agents match; accounts for realm in matching process. Strategy choices are: all, realm, sub-realm, interface, and network. |
max-register-forward=<value> |
Defines a limit (as assigned in the value field) of REGISTER refreshes to be forwarded to the registrar. During each second, the sipd counts how many REGISTER refreshes have been sent to the registrar. It checks the threshold when it receives a REGISTER refresh from the UA and determines that less than half the real registration lifetime is left. If the number of REGISTER refreshes forwarded (new and updates) in the current second exceeds the configured threshold, it will respond to the UA from the cache. |
max-register-refresh=<value> | Defines the desired limit of
REGISTER refreshes from all the UAs. Each second of time, sipd counts the
number of REGISTER/200-OK responses sent back. When the threshold is exceeded,
it increments the expire time (based on NAT interval) by one second and resets
the count.
By default no threshold is applied. The recommended value is somewhat dependent on the SBC hardware used, but 300 can be used as an initial value. |
max-routes=<number of routes> | Restricts the number of routes
through which the sipd will iterate from a local policy lookup. For example,
setting this option to 1 causes the
SBC to only try the
first, best, route. Setting this option to 0, or omitting it, lets the
SBC use all of the
routes available to it (with the priority scheme for route matching).
When you test a policy using the test-policy ACLI command, this option is not recognized and all options that match the criteria are displayed. |
max-udp-length=<maximum length> | Setting this option to zero (0)
forces sipd to send fragmented UDP packets. Using this option, you override the
default value of the maximum UDP datagram size (1500 bytes; sipd requires the
use of SIP/TCP at 1300 bytes).
You can set the global SIP configuration’s max-udp-length=x option for global use in your SIP configuration, or you can override it on a per-interface basis by configuring this option in a SIP interface configuration. |
media-release=<header-name>[;<header-param>] | Enables the multi-system media
release feature that encodes IP address and port information for the media
streams described by SDP. It lets another
SBC decode the data to
restore the original SDP, which allows the media to flow directly between
endpoints in the same network (that is serviced by multiple
SBCs).
The media release information can appear in the following places:
Option includes the following:
They identify to where the encoded information is passed. If you do not specify a header, P-Media-Release is used. |
no-contact-endpoint-port | Enables the
SBC to add a URL
parameter (defined as an argument to the contact-endpoint option) to the
Contact headers of REGISTER messages that it forwards to the registrar when it
performs registration caching. The value of the contact-endpoint URL parameter
is the real address of the endpoint; and if the endpoint is behind a NAT, this
includes the IP address and a port number. However, not all network entities
can parse that port number, which is included unconditionally. This feature
allows you to configure the exclusion of the port number.
Despite the fact that you set this parameter in the global SIP configuration, it is applied only to SIP interfaces. However, you can set a contact-endpoint option in the realm configuration, on which this new parameter has no effect. |
refer-to-uri-prefix=<prefix> | Defines a prefix to be matched
against the userinfo part of Contact headers (config=), of which the
SBC should create a
B2BUA map. This ensures that outgoing messages include the correct userinfo
value. This option is used to enable add-on conferencing.
|
reg-cache-mode=<mode> | Affects how the userinfo part of
Contact address is constructed with registration caching. <mode> values
are:
The from mode is used with softswitches that do not use the cookies used by the SBC. It also helps limit the number of bytes in the userinfo; which might create duplicate contacts. For example, if the SBC address is 1.2.3.4, both 1234@5.6.7.8 and 1234@4.3.2.1 will result in a SBC contact of 1234@5.6.7.8. |
reg-contact-user-random | Support the SIP random
registered-contact feature. Gives the
SBC the ability to
support endpoints that randomly change their contact usernames every time they
re-register. Only applicable to operators who need to support the Japan TTC
standard JJ-90.22 in specific applications.
Applies to cases when an endpoint re-registers with a different contact username, but with the same hostname/IP address and the same address of record (AoR). Without this feature enabled, the SBC forwards every re-registration to the registrar with the new contact information without it being considered a registration refresh. The SBC forwards it to the Registrar using the same sd-contact as the previous registration. When you set this option, the SBC does treat such a re-registration as a registration refresh when it is received prior to the half-life time for the specific contact. The SBC also uses the new contact username for the Request-URI in requests it sends to the UA, and verifies that the UA uses the correct one when that SBC is set to allow-anonymous registered mode. NOTE: The registration cache mode is set using the option reg-cache-mode, but regardless of how you configure it, the registration cache mode will be set to contact when SIP random registered-contact feature is enabled. |
register-grace-timer | Makes the grace time for the SIP Registration configurable. You can configure the grace timer in seconds. |
reinvite-trying=[yes | no] |
When set to "yes", the SBC sends a 100 Trying in response to Re-Invites. Whet set to "no", it does not. If you enter the option but omit the value, the option takes the value "yes". The default SBC behavior (the option not set) works differently on standalone and HA systems. For standalone, the default is to send the 100 Trying for Re-Invites. For HA, it does not. The difference between default behaviors is because of the timing involved with switching over. An active SBC can receive the re-INVITE before receiving a 200 OK. In that case, a new active SBC handles the re-INVITE properly after a switchover. But, if the SBC sends a 100 Trying before the switchover, the new active is not aware of the 200 OK transaction, and therefore discards the re-INVITE as a stray message. |
reject-interval=<value> | Acts as a multiplier to increase
the value presented to the UAC in the Retry-After field. For example, if
reject-interval=5 (reject interval is set to 10); at a 90% rejection rate the
SBC sends Retry-After:
45.
When rejecting calls because of CPU load limiting, the SBC adds a Retry-After parameter to the error response (typically 503 Service Unavailable). By default the SBC sets the Retry-After value to be 1/10th of the current rejection rate. |
reject-register=[no | refresh] | Allows REGISTER messages through even during load limiting. By default, REGISTER messages are subject to load limiting. |
response-for-not-found=<response code> | Change the 404 Not Found generated by the SBC to a different response code. |
route-register-no-service-route | Controls how a UA is registered.
Option can have three values:
Addition idle argument ensures that, when enabled, the SBC follows the previously defined rules for idle calls, where idle means not engaged in any INVITE-based sessions. Sample syntax: route-register-no-service-route=refresh;idle |
sdp-insert-sendrecv | When a call is initiated, the SDP communicates between call offerer and call answerer to determine a route for the media. Devices can be configured to only send media (“a=sendonly”), to only receive media (“a=recvonly”), or to do both (“a=sendrecv”). Some devices, do not disclose this information. With this option configured, when either the offerer or answerer does not disclose its directional attribute, the SBC automatically inserts a sendrecv direction attribute to the media session. |
set-inv-exp-at-100-resp | Set Timer C when a 100 Trying response is received (instead of waiting until 1xx (> 100) is received). If the SBC does not receive a 100 Trying response within Timer B, the call should be dropped because there is a problem communicating with the next hop. |
strip-domain-suffix-route | Causes sipd to strip any Router headers from the inbound messages coming to the external address of a SIP NAT; if the message contains a FQDN that matches the configured domain suffix for that SIP NAT. |
video-sbc-session | Use with drain-sendonly for
conference floor support. When configured with drain-sendonly and when the
SBC receives an SDP,
the
SBC proxies the
m=control and its related a= and c= unchanged. Although media streams are
allocated for this m line, an actual flow is not set up.
SDP received with the following: m=video a=sendonly is sent out as the following: m=video a=sendonly a=X-SBC-Session |
session-timer-support | This option enables the SBC to start the session timer for session refreshes coming from the UAC. The SBC determines whether or not a session is active based on session refreshes or responses. It terminates the session when no session refreshes occur within the session timer interval. |
session-timer-support | Enables RFC4028 session timer support. |
inmanip-before-validate | Enables SIP Header Pre-processing for HMR. |
proccess-implicit-tel-URI | Correctly appends coodie in REGISTER message when user=phone does not exist. |
offerless-bw-media | Reserves appropriate bandwidth for an INVITE with no SDP. |
SIP Interface Options
The following table lists the SIP interface options supported by the Oracle Communications Session Border Controller (SBC).
Option | Description |
---|---|
100rel-interworking | Enables RFC 3262, Reliability of Provisional Responses in the Session Initiation Protocol support. |
change-contact-user | The SBC alters the user-uri portion of the
contact header.
This option works only when the
user-uri contact header is different than
the FROM header.
|
contact-endpoint=<endpoint name> | The SBC inserts the
endpoint IP address and port into the Contact headers as messages egress
using that SIP interface. The inserted data is the same as the
information received in the Request or Response being forwarded.
If the endpoint name is not specified, the default value endpoint is used. |
contact-firewall=<firewall name> | The SBC inserts the
firewall IP address and port into the Contact headers as messages egress
using that SIP interface. The inserted data is the same as the
information received in the Request or Response being forwarded.
If the endpoint name is not specified, the default value firewall is used. |
contact-vlan=<VLAN/realm name> | The SBC inserts the realm
and VLAN ID into the Contact headers as messages egress using that SIP
interface. The inserted data is the same as the information received in
the Request or Response being forwarded.
If the endpoint name is not specified, the default value vlan is used. |
dropResponse | The SBC drops responses by
specified status codes. The option value can contain one or more status
codes separated by colons. Response code ranges can also be entered. If
any of the response codes matches, then a response is not sent. If the
dropResponse option is set in both the sip-interface and the
session-agent elements, the session-agent setting takes precedence.
Note: This feature screens all messages passing through SBC against the dropResponse list. If there is a hit, the response message is dropped. However, for error messages generated by the SBC, only the response messages generated after the initial routing is complete are screened against the dropResponse list. |
max-udp-length=<maximum length> | Sets the largest UDP packers that the SBC will pass. Packets exceeding
this length trigger the establishment of an outgoing TCP session to
deliver the packet; this margin is defined in RFC 3261. The system
default for the maximum UDP packet length is 1500.
You can set the global SIP configuration’s max-udp-length=x option for global use in your SIP configuration, or you can override it on a per-interface basis by configuring this option in a SIP interface configuration. |
response-for-not-found=<response code> | Change the 404 Not Found generated by the SBC to a different response code. |
strip-route-headers | Causes the SBC to disregard and strip all route headers for requests received on a SIP interface. |
upd-fallback | When a request needs to be sent out on the SIP interface for which you have configured this option, the SBC first tries to send it over TCP. If the SIP endpoint does not support TCP, however, then the SBC falls back to UDP and tries the request again. |
via-header-transparency | Enables the SBC to insert
its Via header on top of the top-most Via header received from user
equipment (UE). It then forwards it on to the IP Multimedia Subsystem
(IMS) core with the original Via header now located as the bottom-most
Via header.
The SBC still replaces the Contact and other header addresses with its own, and does not pass on the core’s Via headers in outbound requests. |
use-redirect-route | Use Route parameter in Contact header as next-hop as received in a 3xx response. |
reg-via-proxy | Enables your SBC to support endpoints that register using an intervening proxy. |
lmsd-interworking | Enables 3GPP2 LMSD Interworking. |
suppress-reinvite | Enables reINVITE supression. |
SIP Session Agent Options
The following table lists the SIP session agent options supported by the Oracle Communications Session Border Controller.
Option | Description |
---|---|
dropResponse | The Oracle Communications Session Border Controllerdrops responses by specified status codes. The option value can contain one or more status codes separated by semicolons. Error ranges can also be entered. If any of the response codes matches then a response is not sent. If the dropResponse option is set in both the sip-interface and the session-agent elements, the session-agent setting takes precedence. |
trans-timeouts=<value> | Defines the number of consecutive non-ping transaction timeouts that will cause a session agent to be out of service. When the session agent is configured, i.e. when the PING options are defined, the value is 10. If not defined, the default value is 5. A Value of 0 prevents the session agent from going out of service because of a non-ping transaction timeout. |
via-origin=<parameter-name> | Causes a parameter to be included
in the top Via header of requests sent to the session agent. The parameter
indicates the source IP address of the corresponding request received by the
Oracle Communications Session Border Controller.
<parameter-name> defines the name of the parameter. If not specified, the default value origin is used. |
refer-reinvite | Enables SIP REFER with Replaces. |
SIP Realm Options
The following table lists the SIP session agent options supported by the Oracle Communications Session Border Controller.
Option | Description |
---|---|
number-normalization | Applies to the SIP To URI. (Currently the
Oracle Communications Session Border Controller supports number normalization on From and To
addresses for both inbound and outbound call legs.) Number normalization
includes add, delete, and replace string functions that result in consistent
number formats.
Number normalization occurs on ingress traffic, prior to the generation of accounting records or local policy lookups. (also applies for H.323 to SIP calls.) |
refer-reinvite | Enables SIP REFER with Replaces. |