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

Yes

Both

  • SubscriptionSessionCheck

  • SubscriptionPartyRequest

  • SubscriptionPartyResponse

  • SipAccess_ServiceTimer

  • SipMidSession_PartyRequest

Yes

No

Stateful

POJO with FSMs

Subscriber data

Not applicable; the feature is generally available unless disabled at the network level.

Network data

Data is stored in the MMTelCONFSubscriptionConfigurationTable profile

Parameter Type Default Description
DefaultSubscriptionExpirySecs

Integer

3600

Expires value is used if SUBSCRIBE doesn’t contain Expires header

MinSubscriptionExpirySecs

Integer

5

SUBSCRIBE requests with a Expires value lower than this are are rejected

PollingIntervalSecs

Integer

5

Frequency of polls for changes to conference view

Statistics

MMTelCONFSubscription statistics are tracked by the sentinel.volte.sip SBB and can be found under the following parameter set: SLEE-Usage → sentinel.volte.sip service → sentinel.volte.sip SBB → feature → MMTelCONFSubscription

Name Type Description
Started

Counter

Incremented each time the feature runs.

FailedToStart

Counter

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

IssuedWarning

Counter

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

FailedDuringExecution

Counter

Incremented when a fatal problem is encountered and the feature cannot execute correctly.

TimedOut

Counter

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

SubscriptionStarted

Counter

Incremented when a subscription is successfully initiated.

SubscriptionRefreshed

Counter

Incremented when an in-progress subscription is refreshed with a new SUBSCRIBE request.

SubscriptionEnded

Counter

Incremented when an in-progress subscription is ended with a NOTIFY with subscription state terminated.

SubscriptionRejected

Counter

Incremented when a SUBSCRIBE request is refused with an error response.

NewSubscriptionRequestedInNewDialog

Counter

Incremented when a subscription is initiated by a SUBSCRIBE request received in a new SIP dialog.

NewSubscriptionRequestedInExistingDialog

Counter

Incremented when a subscription is initiated by a SUBSCRIBE request received in an existing SIP dialog.

NotifySent

Counter

Incremented each time the feature generates and sends a NOTIFY request.

CassandraQueried

Counter

Incremented when a query is sent to Cassandra.

CassandraQueryFailed

Counter

Incremented when a query to Cassandra fails.

CassandraResponseReceived

Counter

Incremented when the response from Cassandra is a non-empty result set.

CassandraErrorReceived

Counter

Incremented when a Cassandra Response is found to be an error.

CassandraEmptyResultSetReceived

Counter

Incremented when the response from Cassandra is an empty result set.

CassandraActivityEndedBeforeResponse

Counter

Incremented when a Cassandra session is ended while outstanding queries await a response.

ActivityEndEventReceived

Counter

Incremented each time the feature receives an Activity End Event.

Session state inputs and outputs

Inputs

Name Type Description

SentinelSelectionKey

com.opencloud.sentinel.common.SentinelSelectionKey

For selecting configuration data

HeadersByLeg

com.opencloud.sentinel.multileg.HeadersByLeg

Header information received on a given leg

Behaviour

Name

MMTelCONFSubscription

Applicable contexts

SIP service

Prerequisite features

MMTelCONF

The MMTel Conference Subscription feature is used in conjunction with the MMTel Conference View Update` and MMTel Conference features. It provides a means for UEs to subscribe to “conference” event package notifications for a conference managed by the MMTel Conference feature.

Notifications are triggered by changes in the state of the conference, for example when a participant joins or leaves. The feature is triggered initially on an incoming SUBSCRIBE and is subsequently triggered by a re-SUBSCRIBE attempt or on the expiry of the features polling timer. In the case where the feature is triggered by an incoming SUBSCRIBE message; it will trigger a query to Cassandra to check the conference state and then wait for a response. Once the waiting feature receives a CassandraQueryResultEvent, a NOTIFY will be sent detailing the complete state of the conference. In the case where the feature is triggered by an incoming SUBSCRIBE message and a CassandraErrorEvent occurs, a 408 response will be sent.

In the case where the feature is triggered on the expiry of the polling timer; it will trigger a query to Cassandra to check the conference state and then wait for a response. Once the waiting feature receives a CassandraQueryResultEvent, the feature will check if the conference state has changed since the last expiry of the polling timer; if the conference state has been modified, it will send a NOTIFY containing the current state of the conference. If an CassandraErrorEvent is received after a query is triggered by the expiry of the polling timer, it will simply reset the polling timer.

The feature may also be triggered by BYE requests and REFER requests that have a Refer-To method of BYE, this affects subscriptions that are created in the INVITE dialog for the conference and will trigger the same behaviour as a polling timer expiry.

The feature will end, and clean up any active Cassandra activity, if it receives an EndActivityEvent.

Specification compliance

Explicit exclusions

Important This exclusion only applies to versions of Sentinel VoLTE prior to 2.6.0.18
  • All error responses on a subscription session result in a NOTIFY request with Subscription-State “terminated” towards UE.

Subscription life-cycle with exclusion
subscription lifecycle

Interaction with MMTel Conference feature

MMTel Conference View Update` and MMTel Conference Subscription features share the data stored in the Cassandra database associated with a given conference if there is at least one active subscription session for the associated conferenceID. The data is updated in the MMTel Conference feature when the conference is modified and is subsequently read by the MMTel Conference Subscription feature when it periodically polls for state changes. The ConferenceViewRemovalDelay in the MMTel Conference feature’s configuration provides a mechanism to allow all subscription sessions associated with MMTel Conference Subscription feature for the ended conference to complete before removing data associated with conference from the database. There is a configurable delay in the MMTel Conference feature for how long the profiles should remain for after the conference ends. Generally the PollingIntervalSecs of MMTel Conference Subscription should be lower than this delay.

Conference State

The current view of a conference is stored in Cassandra. A conference is considered active and therefore a successful subscription, if at least one conference exists in the database with the requested ConferenceID and its ConferenceEnded value being false. Information about the conference is then used to create the body of outgoing NOTIFY messages.

Parameter Type Description

ConferenceEndpointStatusInternal

String Current

Status of a participant connected, disconnected or on-hold

ConferenceID

String Unique

16 character alpha-numeric string prefixed by “mmtel-conf-” (common amongst all participants)

ConnectionID

String Unique

Identifier for a participant as the uniqueness of ParticipantID cannot be guaranteed

ParticipantID

String URI

Identifying the participant

ParticipantDisplayText

String

Participant display text

EndpointID

String Unique

Identifier for the endpoint

ConferenceEnded

Boolean

true if the conference has ended and we are waiting for notifications to end

LastUpdateTime

Long

Timestamp representing the last time the profile was updated

ParticipantRequestedPrivacy

Boolean

true if conference participant requested privacy

Conference Subscription Privacy

If a conference moderator or participant includes the Privacy header with a value of id or user during conference establishment, the MMTel Conference Subscription feature anonymizes their identity in subscription NOTIFY messages.

For the moderator, the Privacy header on the initial INVITE to the conference focus determines the subscription privacy setting. For participants, the Privacy header on the 200 response to the Conference Leg INVITE determines the subscription privacy setting.

An anonymized subscriber identity takes the form sip:anonymous@anonymous.invalid. If multiple subscribers in a conference have Privacy set then unique anonymous values are used, e.g. sip:anonymous_1@anonymous.invalid and sip:anonymous_2@anonymous.invalid

A typical subscription NOTIFY message XML body with anonymous participants is shown in the example below.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<conference-info xmlns="urn:ietf:params:xml:ns:conference-info" entity="mmtelconf101exmuAr6awKdkUaTRMf34QA" state="full" version="3">
  <conference-description/>
  <users>
    <user entity="sip:anonymous@anonymous.invalid" state="full">
      <display-text>Anonymous</display-text>
      <endpoint entity="sip:anonymous@anonymous.invalid">
        <status>connected</status>
      </endpoint>
    </user>
    <user entity="sip:anonymous_1@anonymous.invalid" state="full">
      <display-text>Anonymous_1</display-text>
      <endpoint entity="sip:anonymous_1@anonymous.invalid">
        <status>connected</status>
      </endpoint>
    </user>
    <user entity="sip:anonymous_2@anonymous.invalid" state="full">
      <display-text>Anonymous_2</display-text>
      <endpoint entity="sip:anonymous_2@anonymous.invalid">
        <status>disconnected</status>
      </endpoint>
    </user>
  </users>
</conference-info>

Conference event schema

Event Package for Conference State and the associated schema are used to convey the current state of the conference for subscribed resources. The feature will always render the complete state of the conference regardless of subscription state.

Previous page Next page
Sentinel VoLTE Version 4.1