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® Enterprise Session Border Controller (E-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 E-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 E-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 E-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 E-SBC from rejecting NOTIFYs with a 400 Bad Request response.NOTIFY requests without Contact header are allowed to pass through the E-SBC instead.
call-id-host=<host> Causes the E-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 E-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 E-SBC and the real Contact address of an endpoint in a REGISTRAR message forwarded to a registrar when the E-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 E-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 E-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 E-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 E-SBC needs requests sent to the URI in the Contact sent instead to the E-SBC. The host part of the URI will have the E-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 E-SBC adds a maddr parameter.

fix-to-header For requests that have the E-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 E-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 E-SBC now keeps track of the Call-ID in its registration cache. A new option in the SIP interface configuration element forces the E-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 E-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 E-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 E-SBC to only try the first, best, route. Setting this option to 0, or omitting it, lets the E-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 E-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 E-SBCs).

The media release information can appear in the following places:

  • SIP header

    P-Media-Release: <encoded-media-interface-information>

  • Header parameter on a SIP header

    Contact: <sip:1234@abc.com> ; acme-media=<encoded-media-interface-information>

  • SDP attribute in the message body

    a=acme-media: <encoded-media-interface-information>

Option includes the following:

  • <header-name> is SIP header in which to put the information or the special value sdp, which indicates the information should be put into the SDP.
  • <header-param> is the header parameter name in which to put the information or in the case of the special header name value sdp, it is the SDP attribute name in which to put the information.

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 E-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 E-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.
  1. On the E-SBC, set refer-to-uri-prefix=<string>, for example, refer-to-uri-prefix="conf=".
  2. When the E-SBC receives either an INVITE or 200 OK, it stores the Contact:sip:conf=<ID@IP:port> contained in the SIP message.
  3. When the SBC receives a REFER in a separate call session, the config=<ID>@ IP2:port2 in this message is different.
  4. The E-SBC searches for the original conf=<ID> map, replaces the IP2:port2 with the stored IP:port, and forwards the updated REFER message.
reg-cache-mode=<mode> Affects how the userinfo part of Contact address is constructed with registration caching. <mode> values are:
  • none: userinfo from the received (post NAT) Contact is retained
  • from: userinfo from the From header is copied to the userinfo of the forwarded Contact header
  • append: append the UA’s Contact address into a cookie appended to the userinfo from the original Contact userinfo. For HNT, the NAT/firewall address is used.
  • append-from: takes userinfo from the From header and appends the encrypted address to the userinfo from the original Contact userinfo. For HNT, the NAT/firewall address is used.

The from mode is used with softswitches that do not use the cookies used by the E-SBC. It also helps limit the number of bytes in the userinfo; which might create duplicate contacts. For example, if the E-SBC address is 1.2.3.4, both 1234@5.6.7.8 and 1234@4.3.2.1 will result in a E-SBC contact of 1234@5.6.7.8.

reg-contact-user-random Support the SIP random registered-contact feature. Gives the E-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 E-SBC forwards every re-registration to the registrar with the new contact information without it being considered a registration refresh. The E-SBC forwards it to the Registrar using the same sd-contact as the previous registration.

When you set this option, the E-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 E-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 E-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] Causes the E-SBC to send a 100 Trying for re-INVITEs, which is normally suppressed. If you enter the option name but omit the value yes, the option is still active.
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 E-SBC sends Retry-After: 45.

When rejecting calls because of CPU load limiting, the E-SBC adds a Retry-After parameter to the error response (typically 503 Service Unavailable). By default the E-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 E-SBC to a different response code.
route-register-no-service-route Controls how a UA is registered. Option can have three values:
  • route-register-no-service-route—This option prevents the use of the Service-Route procedure to route the Re-Register requests after the UA has initially registered.
  • route-register-no-service-route=all—Prevents the use of the Service-Route procedure to route the Re-Register requests for all messages, after the UA has initially registered.
  • route-register-no-service-route=refresh—Prevents the use of the Service-Route procedure to route the Re-Register requests for all refresh-register messages, but not de-register messages, after the UA has initially registered.

Addition idle argument ensures that, when enabled, the E-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 E-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 E-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 E-SBC receives an SDP, the E-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 E-SBC to start the session timer for session refreshes coming from the UAC. The E-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® Enterprise Session Border Controller.

Option Description
100rel-interworking Enables RFC 3262, Reliability of Provisional Responses in the Session Initiation Protocol support.
contact-endpoint=<endpoint name> The Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controllerinserts 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 Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controller first tries to send it over TCP. If the SIP endpoint does not support TCP, however, then the Oracle® Enterprise Session Border Controller falls back to UDP and tries the request again.
via-header-transparency Enables the Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controller 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 Oracle® Enterprise Session Border Controller 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® Enterprise Session Border Controller.

Option Description
dropResponse The Oracle® Enterprise 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® Enterprise 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® Enterprise Session Border Controller.

Option Description
number-normalization Applies to the SIP To URI. (Currently the Oracle® Enterprise 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.

SIP Realm Options Configuration

To configure options:

Labels enclosed in <> indicate that a value for the option is to be substituted for the label. For example, <value>. In order to change a portion of an options field entry, you must re-type the entire field entry.

  1. Navigate to the options parameter in the SIP configuration or SIP interface elements.
  2. Enter the following:
    options Space <option name>=”<value>”

    For example, if you want to configure the refer-to-uri-prefix option (the add-on conferencing feature):

    Type options, followed by a Space.

    Type refer-to-uri-prefix, followed by an equal sign (=).

    Type the opening quotation mark (“) followed by conf, another equal sign and the closing quotation mark.

    Press Enter.

    For example:

    options refer-to-uri-prefix=conf=

    If the feature value itself is a comma-separated list, it must be enclosed in quotation marks.

Configuring Multiple Options

You can enter a list of options for this field:

  1. Type options followed by a space.
  2. Within quotation marks, enter the feature names and values of the parameters you need. Separate each one with a comma.
  3. Close the quotation marks.
  4. Press Enter.

    For example:

    ACMEPACKET(sip-config)# options “refer-to-uri-prefix=“conf=”,encode-contact=“+SD”,add-ruri-user=INVITE,ACK”

Adding an Entry

Enter the new entry with a preceding plus (+) sign. For example:

options +response-for-not-found

This format allows previously configured options field values to remain intact without requiring re-entry of the entire field value.