Vertical Service Code processing is split between detection logic and processing logic.
Vertical Service Code detection
VerticalServiceCode feature detects vertical service codes in the dial string, optionally removes them from the SIP Request, and sets the session so subsequent features can give effect to the service code.
Operators will normally only need to assign specific service codes and associated announcements in VerticalServiceCodes
’s addressList entries.
Vertical Service Code processing
The following features are designed to have at least some of their functionality triggered by VerticalServiceCode
feature.
These features provide one or more pre-defined VerticalServiceCode_Action profiles which are assigned to operator specific short codes in VerticalServiceCode
’s addressList entries.
Feature | Description | VSC Triggers |
---|---|---|
updates the Request URI of a SIP INVITE, based on the location of the calling party and the dialled number |
|
|
redirects the calling party to their voicemail server. |
|
|
performs a list of predefined HTTP PUT operations to update subscriber data in an XCAP server. |
|
|
implements the Originating Identification Restriction (OIR) service |
|
Supplied Vertical Service Code Actions
Sentinel Volte ships with the following predefined VSC Actions. These cover the VSC use cases within the Sentinel Volte feature set.
Action | Session State Field | Value |
---|---|---|
MMTel OIR - Enable Identity Restriction For Current Session |
DialledCallerIDRestriction |
OIR_CALLER_ID_BLOCK |
MMTel OIR - Disable Identity Restriction For Current Session |
DialledCallerIDRestriction |
OIR_CALLER_ID_UNBLOCK |
MMTel OIR - Enable Identity Restriction Permanently |
XcapDataUpdateActionsQueueAsString |
Default-Privacy-Restricted |
MMTel OIR - Disable Identity Restriction Permanently |
XcapDataUpdateActionsQueueAsString |
Default-Privacy-Not-Restricted |
MMTel OIR - Enable Identity Presentation |
XcapDataUpdateActionsQueueAsString |
Activate-OIP |
MMTel OIR - Disable Identity Presentation |
XcapDataUpdateActionsQueueAsString |
Deactivate-OIP |
MMTel CDIV - Enable Call Forwarding For Busy And No Answer |
XcapDataUpdateActionsQueueAsString |
Activate-CFNR, Activate-CFB, Activate-CDIV |
MMTel CDIV - Disable Call Forwarding For Busy And No Answer |
XcapDataUpdateActionsQueueAsString |
Deactivate-CFNR, Deactivate-CFB |
MMTel CDIV - Enable Unconditional Forwarding To Specified Number |
XcapDataUpdateActionsQueueAsString |
CFU-Forward-To, Activate-CFU, Activate-CDIV |
MMTel CDIV - Disable Unconditional Forwarding |
XcapDataUpdateActionsQueueAsString |
Deactivate-CFU |
MMTel CDIV - Enable Busy Call Forwarding To Specified Number |
XcapDataUpdateActionsQueueAsString |
CFB-Forward-To, Activate-CFB, Activate-CDIV |
MMTel CDIV - Disable Busy Call Forwarding |
XcapDataUpdateActionsQueueAsString |
Deactivate-CFB |
MMTel CDIV - Enable No Answer Call Forwarding To Specified Number |
XcapDataUpdateActionsQueueAsString |
CFNR-Forward-To, Activate-CFNR, Activate-CDIV |
MMTel CDIV - Disable No Answer Call Forwarding |
XcapDataUpdateActionsQueueAsString |
Deactivate-CFNR |
MMTel CDIV - Enable Not Logged In Call Forwarding To Specified Number |
XcapDataUpdateActionsQueueAsString |
CFNL-Forward-To, Activate-CFNL, Activate-CDIV |
MMTel CDIV - Disable Not Logged In Call Forwarding |
XcapDataUpdateActionsQueueAsString |
Deactivate-CFNL |
MMTel CDIV - Enable Not Reachable Call Forwarding To Specified Number |
XcapDataUpdateActionsQueueAsString |
CFNRc-Forward-To, Activate-CFNRc, Activate-CDIV |
MMTel CDIV - Disable Not Reachable Call Forwarding |
XcapDataUpdateActionsQueueAsString |
Deactivate-CFNRc |
MMTel CDIV - Enable Service |
XcapDataUpdateActionsQueueAsString |
Activate-CDIV |
MMTel CDIV - Disable Service |
XcapDataUpdateActionsQueueAsString |
Deactivate-CDIV |
Execute Location Based Dialling |
PerformLocationBasedDialling |
true |
Connect Subscriber To Voicemail Provider |
DialVoicemailServer |
true |
Set Default Forward Voicemail Server Number |
XcapDataUpdateActionsQueueAsString |
Default-Voicemail-Number |
Basic_Search_Continue |
||
Basic_Search_Stop |
||
Basic_Strip_Service_Code_And_Continue_Search |
||
Basic_Strip_Service_Code_And_Stop_Search |
||
Basic_Reject_With_603_Decline |
Supplied XCAP Update Action Assumptions
Many of the above VSC actions use the XCAP data Update feature to update subscriber data. The XCAP Data Update feature provides predefined actions to update portions of the user’s XCAP document. Those actions assume the subscriber’s user document has at least the following elements. If the user document has a different structure the XCAP Data Update feature’s corresponding predefined Action will need modification. If the user document has portions missing the provisioning system will need to provide them before the corresponding VSC Action can be assigned to a service code.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simservs xmlns:ocp="urn:oma:xml:xdm:common-policy" xmlns:cp="urn:ietf:params:xml:ns:common-policy" xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap">
<originating-identity-presentation active="true"/>
<originating-identity-presentation-restriction active="true">
<default-behaviour>presentation-not-restricted</default-behaviour>
</originating-identity-presentation-restriction>
<communication-diversion active="false">
<NoReplyTimer>60</NoReplyTimer>
<cp:ruleset>
<cp:rule id="call-diversion-busy">
<cp:conditions>
<rule-deactivated/>
<busy/>
</cp:conditions>
<cp:actions>
<forward-to>
<target/>
</forward-to>
</cp:actions>
</cp:rule>
<cp:rule id="call-diversion-unconditional">
<cp:conditions>
<rule-deactivated/>
</cp:conditions>
<cp:actions>
<forward-to>
<target/>
</forward-to>
</cp:actions>
</cp:rule>
<cp:rule id="call-diversion-no-reply">
<cp:conditions>
<rule-deactivated/>
<no-answer/>
</cp:conditions>
<cp:actions>
<forward-to>
<target/>
</forward-to>
</cp:actions>
</cp:rule>
<cp:rule id="call-diversion-not-reachable">
<cp:conditions>
<rule-deactivated/>
<not-reachable/>
</cp:conditions>
<cp:actions>
<forward-to>
<target/>
</forward-to>
</cp:actions>
</cp:rule>
<cp:rule id="call-diversion-not-logged-in">
<cp:conditions>
<rule-deactivated/>
<not-registered/>
</cp:conditions>
<cp:actions>
<forward-to>
<target/>
</forward-to>
</cp:actions>
</cp:rule>
</cp:ruleset>
</communication-diversion>
<communication-waiting active="false"/>
<terminating-identity-presentation active="true"/>
<terminating-identity-presentation-restriction active="true">
<default-behaviour>presentation-not-restricted</default-behaviour>
</terminating-identity-presentation-restriction>
<incoming-communication-barring active="false">
<cp:ruleset/>
</incoming-communication-barring>
<outgoing-communication-barring active="false">
<cp:ruleset/>
</outgoing-communication-barring>
<extensions/>
</simservs>