SIP Interface Settings
A SIP Interface is an application layer interface logically residing "over" a network interface. The SIP interface defines the transport addresses (IP address and port) upon which the Oracle Enterprise Communications Broker receives and sends SIP messages. You can define a SIP interface for each network to which the Oracle Enterprise Communications Broker is connected. Note that these networks must be within the Oracle Enterprise Communications Broker's Network Interface subnet. SIP interfaces support UDP, TCP and TLS transport.
In addition to defining a SIP interface's network participation (Port), you can also define forking and other functionality (Interface settings).
Proxy Registration
By default, the Oracle Enterprise Communications Broker (OECB) rejects a REGISTER request from a domain for which it is not the registrar. You can enable the OECB to proxy such registration requests by way of the Proxy Registration control in the SIP Config configuration.
In the SIP Config configuration, select Proxy Registration to tell the OECB to proxy the registration towards the intended registrar. When you deselect Proxy Registration, the OECB responds with a 403: Unauthorized message.
Global SIP Timers
Note:
you can also set timers and counters per SIP interface.
Overview
SIP timers define the transaction expiration timers, retransmission intervals when UDP is used as a transport, and the lifetime of dynamic TCP connections. The retransmission and expiration timers correspond to the timers defined in RFC 3261.
- init timer: is the initial request retransmission interval. It corresponds to Timer T1 in RFC 3261.
This timer is used when sending requests over UDP. If the response is not received within this interval, the request is retransmitted. The retransmission interval is doubled after each retransmission.
- max timer: is the maximum retransmission interval for non-INVITE requests. It corresponds to Timer T2 in RFC 3261.
The retransmission interval is doubled after each retransmission. If the resulting retransmission interval exceeds the max timer, it is set to the max timer value.
- trans expire: is the transaction expiration timer. This value is used for timers B, D, F, H and J as defined in RFC 3261.
- invite expire: defines the transaction expiration time for an INVITE transaction after a provisional response has been received. This corresponds to timer C in RFC 3261.
If a final response is not received within this time, the INVITE is cancelled. In accordance with RFC 3261, the timer is reset to the invite expire value when any additional provisional responses are received.
- Inactive dynamic conn timer defines the idle time of a dynamic TCP connection before the connection is torn down. Idle is defined as not transporting any traffic. There is no timer in RFC 3261 corresponding to this function.
SIP Timers Discreet Configuration
Previous releases controlled various SIP timers with a single setting, Trans Expire, available in both SIP Config and SIP Interface modes. When executed in SIP Config mode, the command essentially established a global default transaction expiration timer value. Executed at the SIP Interface level, the command established a local, interface-specific value that overrides the global default.
Specific timers controlled by Trans Expire are as follows:
- Timer B, the INVITE transaction timeout timer, defined in Section 17.1.1.2 and Appendix A of RFC 3261, SIP: Session Initiation Protocol.
- Timer D, the Wait-Time for response retransmitals timer, defined in Section 17.1.1.2 and Appendix A of RFC 3261, SIP: Session Initiation Protocol.
- Timer F, the non-INVITE transaction timeout timer, defined in Section 17.1.2.2 and Appendix A of RFC 3261, SIP: Session Initiation Protocol.
- Timer H, the Wait-Time for ACK receipt timer, defined in Section 17.2.1 and Appendix A of RFC 3261, SIP: Session Initiation Protocol.
- Timer J, the Wait-Time for non-INVITE requests timer, defined in Section 17.2.2 and Appendix A of RFC 3261, SIP: Session Initiation Protocol.
The Initial Inv Trans Expire parameter enables user control over SIP Timer B for initial INVITE transactions. Other timers, namely B for non-initial INVITEs, D, F, H, and J remain under the control of Trans Expire.
Use Initial Inv Trans Expire in the SIP Config to establish a global, default transaction timeout value (expressed in seconds) used exclusively for initial INVITE transactions.
Allowable values are integers within the range 0 (the default) through 999999999. The default value, 0, indicates that a dedicated INVITE Timer B is not enabled. Non-default integer values enable a dedicated Timer B and set the timer value.
The default value retains compatibility with previous operational behavior in that Timers B, D, F, H, and J all remain subject to the single timer value set by Trans Expire. However, when Initial Inv Trans Expire is set to a supported non-zero value, SIP Timer B as it applies to initial INVITEs, assumes that value rather than the value assigned by Trans Expire. This functionality is available in both SIP Config and in SIP Interface objects.
If a dedicated Timer B is set in the SIP Config, you can use initial-inv-trans-expire in the SIP Interface to establish a local interface-specific Timer B timeout value that overrides the global default value.
Timer to Tear Down Long Duration Calls
In most call scenarios, long duration calls are terminated with the expiration of this timer, but there are some cases where a call can stay connected for a longer duration. For example, if a user connects to an IVR service and does not hang up the phone receiver properly, there is no way for the network provider to free up the IVR resources if the user devices send session updating requests. To prevent this situation, set the Session Max Life Limit timer in the SIP Config, which starts when the call or session is established and does not reset for any session update, keep-alive or system switchover. On expiry, the call is torn down if it’s in established state.
The Session Max Life Limit parameter can be provisioned in the following configuration elements, in order of precedence from highest to lowest: Session Agent, Realm Config, SIP Interface, and SIP Config. Its range of values is {0-2073600} seconds with an additional special case value of “Unlimited”, which is treated as the highest possible value. The default value is 0 (no timer).
Difference between 0 and Unlimited
No timer is created when Session Max Life Limit is configured to either the value 0 or “Unlimited”, so no timeout can occur. The difference between the two values is how they are handled when determining which value of Session Max Life Limit to use when there are several specified within the various configuration elements.
When a session is created the timer examines both the ingress side and the egress side and, in cases where both sides have a configured value for Session Max Life Limit, uses the side with the lower (stricter) value. On each side, the system reviews the configuration elements relevant to the session and uses the value of Session Max Life Limit from the configuration element with the highest precedence (Session Agent, then Realm Config, then SIP Interface, and lastlySIP Config).
- When the value is set to 0, the configuration element is ignored and the next configuration element in the precedence chain is looked at.
- A value between 1 and 2073600 (24 days) or the value “Unlimited” is treated as a valid configured value. In this case the system will not move onto the next element in the precedence chain and the value is used in the final comparison between the egress and ingress values. The value “Unlimited” is viewed as the highest possible value, and therefore is considered greater than any other value it is compared against.
For example, on the ingress side the value of Session Max Life Limit in Realm Config is set to 86400 and the value of Session Max Life Limit in Session Agent is set to "Unlimited". The Session Agent value has a higher precedence than the Session Agent value so, therefore, the value “Unlimited” is used for the ingress side. On the egress side the value of Session Max Life Limit in Realm Config is set to 43200 and the value of Session Max Life Limit in Session Agent is set to 0 (no timer), so the value of Session Max Life Limit in Realm Config is used. When compared against the ingress side the value 43200 is less than “Unlimited”; therefore, the value set for the timer is 43200.
Add a SIP Interface
The SIP interface defines the signaling interface through which the Oracle Enterprise Communications Broker (OECB) receives and sends SIP messages.
- Consider any SIP options that you want to add.
- Configure any inbound and outbound manipulation rules that you want to use with this interface.
- Configure any S8HR profiles that you want to use with this interface.
Configure SIP Config
Use SIP Config to set the parameters that apply to all SIP call traffic on the Oracle Enterprise Communications Broker (OECB).
Restricting Session Initiation
The Oracle Enterprise Communications Broker (OECB) can restrict the set of end stations that can initiate sessions to those originating through active session agents and previously registered users. By default, the OECB does not restrict session initiation. You can enable the functionality in the SIP Port configuration.
The SIP Port configuration includes theAllow Session Agents and Registered End-Points control that you use to restrict session initiation. When selected, the OECBresponds to session initiation by endpoints that are not behind an agent or not already registered with a 403: Unauthorized message.
Configure a SIP Interface Port
A SIP Interface port configuration defines the transport address and protocol that the Oracle Enterprise Communications Broker (OECB) uses for sending and receiving messages through a SIP interface. You can apply a TLS profile to the configuration, and you can limit SIP requests from session agents and registered end points. You must configure at least one port per SIP interface. You can optionally configure multiple SIP ports per SIP interface. For example, suppose you configure the OECB to receive calls by way of TCP and to send calls by way UDP, you must configure a SIP port for each protocol.
- Create the TLS profile that you want for this configuration.
In the following procedure, use step 4 to add more SIP interface ports.
Optional—Configure SIP monitoring.
SIP Monitor and Trace Filter Configuration
The SIP Monitor and Trace function allows you to monitor SIP sessions for notable events and display the results in the Oracle Enterprise Communications Broker (OECB) SIP Notable Events summary. Such information may help you perform troubleshooting. For more targeted monitoring, you can configure filters on particular users and addresses on the OECB, and on a specific agent.
- The SIP Interface
configuration page displays the
Monitoring
Filters object in the navigation pane, which you use to configure
individual filters.
- The
Monitoring object on
the SIP interface configuration page displays the
Monitoring
Filters element in the dialog. Use it to apply filters to the
OECB.
- The Add Agents configuration
page displays theMonitoring Filters
configuration element to the Advanced section. Use it to apply filters to an
agent.
-
Note:
After the P-CZ2.0.0m4 release, the system does not support the former "Enable SIP Monitor and Trace" setting. You must re-configure SNMP event traps through the dialogs described in this topic.
- Create one or more filters in the Monitoring Filters object. You may use an asterisk character as a filter, if you want to monitor all session data.
- Add one or more filters to the Monitoring object.
- (Optional) Add one or more monitoring filters to an agent that you want to monitor.
SIP REFER
SIP REFER provides the Oracle Enterprise Communications Broker with the ability to terminate SIP REFER messages and perform attended or unattended call transfers. You can enable REFER termination at both the agent and SIP interface, with agent configuration taking precedence. You can also configure the SIP interface to send NOTIFY messages for provisional responses.
SIP REFER Method Call Transfer for ECB
The Oracle Enterprise Communications Broker (OECB) supports a handling mode for the REFER method that automatically converts a received REFER method into an INVITE method. This allows the OECB to transfer a call without having to proxy the REFER back to the other User Agent (UA).
The OECB provides the Enable REFER Termination parameter for provisioning the handling of REFER methods as call transfers. When you enable ISP REFER Method Call Transfer, the OECB creates an INVITE message whenever it receives a REFER. The OECB sends the INVITE message to the address in the Refer-To header. The INVITE message includes all of the unmodified information contained in the REFER message. The OECB uses the previously negotiated SDP in the new INVITE message, and sends the NOTIFY and BYE messages to the UA upon call transfer completion. You configure this function at the SIP interface or agent with agent configuration taking precedence.
When a REFER method is received containing no Referred-By header, the OECB adds one, allowing the OECB to support all call agent screen applications.
The SIP REFER method call transfer feature supports the following:
- Both unattended and attended call transfers.
- Both successful and unsuccessful call transfers.
- Early media from the Referred-To party to the transferee.
- REFER method transfer from different sources.
- The REFER event package as defined in RFC 3515. This applies for situations where multiple REFER methods are used within a single dialog.
- Third party initiated REFER method signaling the transfer of a call by associating the REFER method to the dialogue through the REFER TargetDialog.
Unsuccessful Transfer Scenarios
The Oracle Enterprise Communications Broker (OECB) does not successfully handle the following unsuccessful, unusual, and unexpected transfer scenarios:
- The new INVITE to the Referred-To party gets challenged, the OECB does not answer the challenge. It is treated with the 401/407 response just as any other unsuccessful final response.
- The header of the REFER message contains a method other than INVITE or contains URI-parameters or embedded headers not supported by the OECB.
- The OECB allows the Referred-To URI that happens to resolve to the same next-hop as the original INVITE went to, to do so.
- The OECB ignores any MIME attachments within a REFER method.
- The OECB recurses (when configured to do so) when the new INVITE sent to the Referred-To party receives a 3xx response.
- The transferee indicated support for 100rel, and the original two parties agreed on using it, yet the Referred-To party does not support it.
- The original parties negotiated SRTP keys.
- The original parties agreed on a codec using a dynamic payload type, and the Referred-To party happens to use a different dynamic payload number for that codec.
Call Flows
The following ladder diagram shows an example of call flow for an unattended call transfer:

The following ladder diagram shows an example call flow of an attended call transfer:

Configure SIP REFER Method
The Oracle Enterprise Communications Broker (OECB) allows you to set REFER termination on a per-agent and SIP interface basis. Agent configuration takes precedence over the SIP interface configuration.
Configure the SIP Interface.
Select Enable REFER Termination in the SIP Interface configuration to allow the specified agent to support SIP REFER method call transfers.
Use the following procedure to enable SIP REFER termination support.
Dynamic REFER Support
In the simplest scenarios, the Oracle Enterprise Communications Broker (OECB) supports Dynamic REFER,also known as REFER-initiated call transfer, either by proxying the REFER to the other User Agent in the dialog, or by terminating the received REFER and issuing a new INVITE to the referred party. In addition, the OECB provides dynamic refer support, which determines on a call-by-call basis whether to proxy the REFER to the next hop, or terminate the REFER and issue an INVITE. You configure dynamic REFER with the Refer Call Transfer parameter to the applicable Session Agent or Realm, and Dyn Refer Term in the applicable Realm.
By default, the OECB proxies REFER sessions. You can configure the OECB for both REFER Re-INVITE call flows and dynamic flows. You configure non-dynamic Re-INVITE scenarios using the ingress agent configuration only. You establish dynamic flows by also configuring the egress realm appropriately. The source agent determines whether to perform dynamic REFER, and the target Realm Config determines whether to dynamically proxy or issue a Re-INVITE.
To configure non-dynamic REFER, enable the Refer Call Transfer parameter on the source agent for Re-INVITE or leave it disabled for proxy mode. To configure Dynamic REFER, you set the Refer Call Transfer parameter in the applicable source agent to Dynamic. You also enable the Dyn Refer Term parameter in the target Realm Config.
The OECB also includes a Refer Call Transfer setting in the Realm Config. If the REFER comes from a source that is not an agent, the OECB uses the realm's Refer Call Transfer setting to determine how to handle the refer. Behavior is the same whether configured on session agent or realm.
The overall behavior proceeds as follows:
- When you set the source agent's Refer Call Transfer parameter to Disabled (the default), all received REFERs are simply proxied to the peer User Agent.
- When you set the source agent's Refer Call Transfer parameter to Enabled, the OECB terminates all REFERs, generates a new INVITE, and sends the INVITE to the address in the Refer-To header.
- When you set the source agent's Refer Call Transfer parameter to Dynamic, the OECB determines REFER handling on a call-by-call basis
This OECB processing for non-dynamic and dynamic REFER proceeds as follows:
- Determine whether the REFER comes from a session agent.
- If the REFER comes from a session agent, check the Refer Call
Transfer value for the session agent from which the REFER was received:
- If the value is disabled, proxy the REFER to the peer User Agent, to complete REFER processing.
- If the value is enabled, terminate the REFER and issue an new INVITE to the referred party, to complete REFER processing.
- If the value is dynamic, identify the next hop egress realm.
- If the REFER does not come from a session agent, the OECB checks the ingress realm's Refer Call Transfer value. Behavior is the same whether configured on session agent or realm.
- When the OECB determines the next hop,
it check the Dyn Refer Term value for that egress realm.
- If Dyn Refer Term is Disabled (the default), proxy the REFER to the next hop to complete REFER processing.
- If Dyn Refer Term is Enabled, terminate the REFER and issue an new INVITE to the referred party to complete REFER processing.
Note:
The OECB identifies the next hop realm based on either the Refer-To header or Based on the routing configuration, with the routing table taking higher priority.Supported Scenarios
In the basic scenario for REFER initiated call transfer, a call is established between two User Agents (Alice and Bob). User Agent Bob then sends a REFER request to transfer the call to a third User Agent Eva. With dynamic call-transfer enabled, the OECB prevents the REFER from being sent to Alice and generates the INVITE to Eva.
- If the INVITE to Eva succeeds, the OECB sends a re-INVITE to Alice modifying the SIP session as described in Section 14 of RFC 3261, SIP: Session Initiation Protocol. At this point the OECB cancels the original dialog between the OECB and Bob.
- If the INVITE to Eva fails, call disposition depends on whether or not Bob issued a BYE after the REFER call transfer. If the OECB did receive a BYE from Bob (for instance, a blind transfer), it proxies the BYE to A. Otherwise, the OECB retains the original SIP session and media session, thus allowing Bob to re-establish the call with Alice by sending a re-INVITE. In this case, the OECB sets a timer (32 seconds), and then sends a BYE.
- If a REFER method is received containing no Referred-By header, the OECB adds one, allowing the OECB to support all call agent screen applications.
In addition, the SIP REFER method call transfer feature supports the following:
- Both unattended and attended call transfers
- Both successful and unsuccessful call transfers
- Early media from the Referred-To party to the transferee
- REFER method transfer from different sources within the destination realm
- The REFER event package as defined in RFC 3515. This applies for situations where multiple REFER methods are used within a single dialog.
- Third party initiated REFER method signalling the transfer of a call by associating the REFER method to the dialogue via the REFER TargetDialog.
- The Referred-To party can be both in a different realm (and thus a different steering pool) from the referrer, and in the same realm
- The associated latching should not prohibit the Referred-To party from being latched to while the referee is still sending media.
The OECB does not successfully handle the following anomalous transfer scenarios:
- The new INVITE to the Referred-To party gets challenged — the OECB does not answer the challenge. It is treated with the 401/407 response just as any other unsuccessful final response.
- The header of the REFER message contains a method other than INVITE or contains URI-parameters or embedded headers not supported by the OECB.
- The OECB shall allow the Referred-To URI that happens to resolve to the same next-hop as the original INVITE went to, to do so.
- The OECB ignores any MIME attachment(s) within a REFER method.
- The OECB recurses (when configured to do so) when the new INVITE sent to the Referred-To party receives a 3xx response.
- The transferee indicated support for 100rel, and the original two parties agreed on using it, yet the Referred-To party does not support it.
- The original parties negotiated SRTP keys.
180 and 100 NOTIFY in REFER Call Transfers for the ECB
When you configure the Oracle Enterprise Communications Broker (OECB) to support REFER call transfers, you can enable it to send a NOTIFY message after it sends either a 202 Accepted or a 180 Ringing message. If your network contains elements that comply with RFC 5589, and therefore expect the NOTIFY message after the 202 Accepted and each provisional 180 Ringing, set the Send NOTIFY messages for REFER Provisional Responses to either Initial or All, according to your deployment needs.
Without this parameter changed from its default (None), the OECB does not return send the NOTIFY until it receives the 200 OK response from the agent being called. If the time between the REFER and the NOTIFY exceeds time limits, this sequencing can cause the OECB’s NOTIFY to go undetected by devices compliant with RFC 5589. Failures during the routing process can result.
The following ladder diagram shows how a sample call flow times out when the Send NOTIFY Messages for REFER Provisional Responses parameter is not set.

When you compare the call flow above to the following one depicting the scenario when the OECB has the Send NOTIFY Messages for REFER Provisional Responses changed from its default, the difference is that the OECB now responds with a NOTIFY in response to the 202 Accepted and it sends another one after the 180 Ringing. This prevents the timeout and allows the event to be diverted successfully.

Sample Messages
In compliance with RFC 5589, the NOTIFY message with 100 Trying as the message body looks like the sample below. Note that the expires value in the subscription state header is populated with a value that equals 2* TIMER C, where the default value of TIMER C is 180000 milliseconds.
NOTIFY sips:4889445d8kjtk3@atlanta.example.com;gr=723jd2d SIP/2.0
Via: SIP/2.0/TLS 192.0.2.4;branch=z9hG4bKnas432
Max-Forwards: 70
To: <sips:transferor@atlanta.example.com>;tag=1928301774
From: <sips:3ld812adkjw@biloxi.example.com;gr=3413kj2ha>;tag=a6c85cf
Call-ID: a84b4c76e66710
CSeq: 73 NOTIFY
Contact: <sips:3ld812adkjw@biloxi.example.com;gr=3413kj2ha>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, tdialog
Event: refer
Subscription-State: active;expires=360
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 100 Trying
Also in compliance with RFC 5589, the NOTIFY message with 180 Ringing as the message body looks like the sample below. Again, the expires value in the subscription state header is populated with a value that equals 2* TIMER C, where the default value of TIMER C is 180000 milliseconds.
NOTIFY sips:4889445d8kjtk3@atlanta.example.com;gr=723jd2d SIP/2.0
Via: SIP/2.0/TLS 192.0.2.4;branch=z9hG4bKnas432
Max-Forwards: 70
To: <sips:transferor@atlanta.example.com>;tag=1928301774
From: <sips:3ld812adkjw@biloxi.example.com;gr=3413kj2ha>;tag=a6c85cf
Call-ID: a84b4c76e66710
CSeq: 73 NOTIFY
Contact: <sips:3ld812adkjw@biloxi.example.com;gr=3413kj2ha>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, tdialog
Event: refer
Subscription-State: active;expires=360
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 180 Ringing
Also in compliance with RFC 5589, the NOTIFY message with 200 OK as the message body looks like the sample below.
NOTIFY sips:4889445d8kjtk3@atlanta.example.com;gr=723jd2d SIP/2.0
Via: SIP/2.0/TLS 192.0.2.4;branch=z9hG4bKnas432
Max-Forwards: 70
To: <sips:transferor@atlanta.example.com>;tag=1928301774
From: <sips:3ld812adkjw@biloxi.example.com;gr=3413kj2ha>;tag=a6c85cf
Call-ID: a84b4c76e66710
CSeq: 74 NOTIFY
Contact: <sips:3ld812adkjw@biloxi.example.com;gr=3413kj2ha>
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY
Supported: replaces, tdialog
Event: refer
Subscription-State: terminated;reason=noresource
Content-Type: message/sipfrag
Content-Length: ...
SIP/2.0 200 OK
180 and 100 NOTIFY Configuration
You can apply the Send NOTIFY Messages for REFER Provisional Responses setting to the SIP Interface. By default, the Oracle Enterprise Communications Broker (OECB) sends only the final result NOTIFY message.
Do the following to enable 100 and 180 NOTIFY messages in REFER call transfers.