Feature Cheat Sheet

B2BUA Instance SAS Support Originating / Terminating Point(s) in Session Plan Network Operator Data Subscriber Data Stateful or Stateless POJO Feature or SBB Feature

MMTEL

No

Terminating

Sip_Access_Subscriber_Check, Sip_Access_Party_Request, Sip_Access_Party_Response, Sip_Access_Service_Timer, SipMidSession_Party_Request, Sip_Mid_Session_Party_Response, SipLegEnd

Yes

Yes

Stateless

POJO

Source Code

The source code for this feature is available in the Sentinel VoLTE SDK in the mmtel-flexible-alerting module pack. It can be viewed by using the create-module command in the SDK with that module pack, for example:

> create-module new-mmtel-flexible-alerting opencloud#mmtel-flexible-alerting#volte/3.0.0;3.0.0.0

This command will prompt you for information needed to create the new modules, once completed the original source for the feature can be found in the new modules.

The module-pack includes the following modules:

Module Name Description

mmtel-determine-flexible-alerting-mode

Group module for the Determine Flexible Alerting Mode feature.

mmtel-determine-flexible-alerting-mode-profile

The profile for this feature

mmtel-determine-flexible-alerting-mode-library

The common library for this module pack

mmtel-parallel-fa

The flexible alerting parallel feature.

mmtel-sequential-fa

The flexible alerting sequential feature.

Statistics

MMTelSequentialFA statistics are tracked by the sentinel.volte.sip SBB and can be found under the following parameter set in REM:
SLEE-Usage → sentinel.volte.sip service → sentinel.volte.sip SBB → feature → MMTelSequentialFA
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.volte.sip,vendor=OpenCloud,version=3.0.0].SbbID[name=sentinel.volte.sip,vendor=OpenCloud,version=3.0.0].feature.MMTelSequentialFA"

Name Type Incremented when …​

Started

Counter

each time the feature runs

FailedDuringExecution

Counter

a fatal error occurs while the feature is executing

FailedToStart

Counter

Sentinel VoLTE encounters an error while attempting to start the feature.

IssuedWarning

Counter

a non-fatal problem is encountered and the feature and issues a warning.

TimedOut

Counter

the feature takes too long to complete and Sentinel VoLTE aborts execution

ProcessingRequest

Counter

processing a request message.

ProcessingResponse

Counter

processing a response from a downstream forked leg.

InviteRequestReceived

Counter

the original invite is received.

CancelRequestReceived

Counter

a CANCEL message is received.

ProvisionalResponseReceived

Counter

a 1xx message is received.

SuccessResponseReceived

Counter

a 200 (OK) message is received.

GroupMemberAlerted

Counter

an INVITE message was sent to a group member.

GroupMemberAddedToQueue

Counter

a group member was queued for alerting.

MemberLegReleased

Counter

a dialog leg is released.

RespondedUpstreamManually

Counter

the feature created an upstream response.

TriggeredOnResponse

Counter

the feature is triggered on a response message.

TriggeredOnRequest

Counter

the feature is triggered on a request message.

TriggeredOnTimer

Counter

the feature is triggered on a timer event.

TriggeredOnLegEndEvent

Counter

the feature is triggered on a SIP leg end event.

AnyResponseTimerSet

Counter

the feature set a timer to wait for a response on a downstream leg.

FinalResponseTimerSet

Counter

the feature set a timer to wait for a final response on a downstream leg.

AnyResponseTimerCancelled

Counter

the timer waiting for a response on a downstream leg was cancelled.

FinalResponseTimerCancelled

Counter

the timer waiting for a final response on a downstream leg was cancelled.

TimerFired

Counter

the feature handled a timer event.

ExitedEarlyNoMembersToAlert

Counter

there is just one member in the group and it is the pilot number.

Interaction with other MMTel Services

CDIV Unconditional

If CDIV Unconditional is active for the Pilot Identity, CDIV Unconditional procedures will be applied and no group member will be alerted.

CDIV Busy

If CDIV Busy is active for the Pilot Identity, CDIV Busy procedures will be applied if the pilot number is considered busy. The definition of Busy for the pilot number depends on the group type: single-user or multiple-users. For single-user, when one member is busy the pilot number is busy, while for multiple-uses all group members have to be busy for the pilot number to be considered busy.

CDIV No Reply and CDIV Not Reachable

If the FA Pilot Number is considered in a state of No Reply or Not Reachable then the CDIV procedures for those MMTel services will be applied.

CDIV Not Logged-in

If the FA Pilot Identity has CDIV Not Registered active, the procedures for CDIV Not Registered will be applied.

MMTelOIP

OIP applied to any FA group member when OIP is active for the FA Pilot Identity.

MMTelTIP

If the FA Pilot Identity did not apply TIR, the termination identification is the FA Pilot Identity.

MMTelTIR

If the FA Pilot Identity has TIR activated, the termination identification is not presented.

MMTelICB

If the FA Pilot Identity has ICB activated, the procedures for ICB will be applied.

MMTelOCB

If any FA group member has OCB activated, the procedures for OCB will be applied for that member.

Network Operator Data

The data present in the JSLEE profile table MMTelDetermineFAConfigProfileTable is used to configure the behaviour of the Sequential Flexible Alerting Feature.

Variable Name Type Comments
SequentialAnyResponseTimeout

int

Set the amount of time in milliseconds that the MMTelSequentialFA feature waits for a response before cancelling the dialog with that group member.

SequentialFinalResponseTimeout

int

Set the amount of time in milliseconds that the MMTelSequentialFA feature waits for a final response before cancelling the dialog with that group member.

AddHistoryInfoHeader

boolean

Determines whether to add History-Info headers to the outgoing requests.

AddMpParam

boolean

If adding History-Info headers, determines whether to add hi-target-param headers (of type mp) to the added hi-entry.

Session Input Variables

Variable Name Type Comments
MMTelFAServiceData

Complex

Service data read from the HSS

FlexibleAlertingGroupMode

Enum

Determines whether single user or multi-user Flexible Alerting is used.

Session Output Variables

Variable Name Type Comments
SuppressCdiv

Boolean

Indicates whether response should be ignored by the MMTel CDIV feature.

Behaviour

The MMTelSequentialFA implements Flexible Alerting sequentially. It reads the MMTelFAServiceData session variable to get the group information and will alert each active group member one at a time, using SIP sequential forking.

The INVITE request URI will have two parameters added to it.

If a member responds with a final response other than a 200 (OK) or a timer event occurs the feature will end the dialog for that member and alert the next member in the queue. When a member answers the call with a 200 (OK) the feature will finish the call setup procedure between the calling party and the member that answered.

The feature also controls the state of the FA Pilot Identity regarding the busy, not reachable and no reply states. The determination of those states depends on the responses of the members and the FA group type: single-user multiple-users. For further information regarding the state of a Pilot Identity see Flexible Alerting.

OC-Retarget Header

The OC-Retarget header is added by MMTel Flexible Alerting to communicate that a retarget has occurred. This header is inserted into the initial INVITE that goes towards the retargeted party. This is then used in the composition to decide whether to invoke the SCC-AS.

For more details see OC-Retarget Header

Sequential Flexible Alerting and MMTelCDIV interaction

The CDIV feature runs before the Flexible Alerting feature on INVITE path. This way, the CFNL and CFU conditions can be applied to the pilot number before alerting any group member.

On the Response path, the CDIV feature runs after the Flexible Alerting feature. CDIV applies the conditions CFB, CFNR, and CFNRc based on the final response that the MMTelSequentialFA feature sends to the caller. To avoid the CDIV feature being triggered on any final response from a group member, the MMTelSequentialFA feature suppresses the CDIV feature execution by setting the session state variable SuppressCdiv. MMTelSequentialFA will allow the CDIV feature to execute only after the state of the pilot number is defined by receiving all members final responses or by timing out.

HSS Subscriber Data Examples

single user group type

In the first example the Subscriber Data configures a flexible alerting group with type single-user. The group has three active members and the flexible alerting service is authorized or active.

<?xml version="1.0" encoding="UTF-8"?>
  <Sh-Data>
    <RepositoryData>
        <ServiceIndication>MMTEL-Services</ServiceIndication>
       <SequenceNumber>1</SequenceNumber>
        <ServiceData>
            <MMTelServices  xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap" xmlns:cp="urn:ietf:params:xml:ns:common-policy">
                <complete-flexible-alerting>
                    <operator-flexible-alerting authorized="true"/>
                    <operator-flexible-alerting-group authorized="true">
                        <identity>sip:bob@home1.opencloud.co.nz</identity>
                        <group-type>single-user</group-type>
                        <membership>permanent</membership>
                        <members>
                            <member active="true">sip:bob@home1.opencloud.co.nz</member>
                            <member active="true">sip:bobmobile@home1.opencloud.co.nz</member>
                            <member active="true">sip:bobdesk@home1.opencloud.co.nz</member>
                        </members>
                    </operator-flexible-alerting-group>
                </complete-flexible-alerting>
            </MMTelServices>
        </ServiceData>
    </RepositoryData>
</Sh-Data>

multiple-users group type

The following example shows a group of multiple-users type with four members. The flexible alerting service is authorized or active.

<?xml version="1.0" encoding="UTF-8"?>
<Sh-Data>
    <RepositoryData>
        <ServiceIndication>MMTEL-Services</ServiceIndication>
        <SequenceNumber>1</SequenceNumber>
        <ServiceData>
            <MMTelServices xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap"   xmlns:cp="urn:ietf:params:xml:ns:common-policy">
               <complete-flexible-alerting>
                    <operator-flexible-alerting authorized="true"/>
                    <operator-flexible-alerting-group authorized="true">
                       <identity>sip:office@home1.opencloud.co.nz</identity>
                       <group-type>multiple-users</group-type>
                        <membership>demand</membership>
                        <members>
                            <member active="true">sip:desk1@home1.opencloud.co.nz</member>
                            <member active="true">sip:desk2@home1.opencloud.co.nz</member>
                            <member active="true">sip:desk3@home1.opencloud.co.nz</member>
                            <member active="true">sip:desk4@home1.opencloud.co.nz</member>
                        </members>
                    </operator-flexible-alerting-group>
                </complete-flexible-alerting>
            </MMTelServices>
        </ServiceData>
    </RepositoryData>
</Sh-Data>
Previous page Next page
Sentinel VoLTE Version 3.0.0