SIP Call Configuration
SIP Configuration
When using the SIP protocol handler, additional global action rule definitions may be specified:
- General SIP parameters
- Announcement definitions
- Call release reasons
Selector Rules Extensions
In addition to the standard N2SVCD selector rule attributes and the N2IWF selector rule extensions, the SIP protocol handler provides additional elements.
Available Actions
The following actions are available for global action rule definitions when using CAMEL/INAP calls.
Action | Required Parameters |
Optional Parameters |
Valid At | Applies To | Description |
---|---|---|---|---|---|
continue |
- | - | (all) | (all except Error Handling) |
Continue the call normally with rating interaction where applicable. |
release |
- | reason |
(all) | (all) | End the call immediately using the details of the specified release reason, if any. May be specified as code in order to pass through the received SIP code from the network, if any, instead of a static definition. |
free |
- | - | Initial | (all except Error Handling) |
Allow the call to continue unmonitored on the network with no further rating interaction. |
grace |
seconds |
Initial Update |
(all except Post-Rating) |
Allow the call to continue monitored on the network for a limited time with no further rating interaction. | |
divert |
divert_to |
- | Initial | (all)) | Terminate the call to the provided divert_to with no further rating interaction. |
SIP Action Rule Directives
When processing action rules, in addition to the core N2IWF action rule directives, SIP-specific directives may also be used to apply N2IWF SIP features.
Directive | Type | Description |
---|---|---|
announcement |
String | Causes an announcement to be sent. |
Note that these directives are ignored in non-action rules used for source selection, e.g. requested time rules.
Additional Selectors
In addition to the standard N2SVCD rule engine selector rule fields, and the N2IWF additional selectors, SIP-specific selectors may also be used.
Selector | Type | Description |
---|---|---|
input.originating |
Boolean | Whether the call direction is identified as originating. |
input.forwarding |
Boolean | Whether the call direction is identified as forwarded. |
input.terminating |
Boolean | Whether the call direction is identified as terminating. |
input.header.xyz |
String | The first value of a received SIP header (named xyz in this example, case-insensitive). Equivalent to input.header.xyz.1 |
input.header.xyz.n |
String | The nth value of a received SIP header (named xyz in this example, case-insensitive). Indexed from 1. |
service.reason |
String | Whether this rule applies only when a specific SIP end call reason has been received. |
service.code |
Integer | Whether this rule applies only when a specific SIP code has been received from the B-leg for a declined call. |
In addition, all fields in the SCC-HANDLE-ALEG-INBOUND-INVITE message may be used as selectors or source values.
These selectors are available for all rules, including action rules.
Note that the input.
prefix is included here for clarity, but is not required as it is
the default N2SVCD rule engine namespace.
End Call Reasons
Valid SIP end call reason names for use in SIP selector rules are:
abandon
: A-leg ended before B-leg completed.no_answer
: the N2SIP no answer timer expired.no_route
: B-leg could not be routed out a SIP trunk.declined
: B-leg returned SIP code 300-699 (busy, no answer, not known, etc.).
Note that EDPs are only received at the conclusion of a call, so will only apply in practice during post-rating.
Subscriber Information Selection
When an INVITE
message is received for processing, subscriber details are extracted as follows, depending on the
call direction:
- MSISDN and URI:
- Originating calls: taken from the inferred calling party.
- Terminating calls: taken from the called party.
- Forwarding calls: taken from the configured redirecting party.
Note that the MSISDN is extracted from the selected URI in all cases.