This feature identifies SIP MESSAGES sent to the AS by E-CSCF to notify the AS that a subscriber has placed an emergency call. The feature records this information in Cassandra where it can be used by MMTel Determine PSAP Callback to identify calls as potential PSAP callbacks. A PSAP callback is a returned call to a subscriber made by a Public Safety Answering Point.
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 | Other notes |
---|---|---|---|---|---|---|---|---|
MMTel |
Yes |
Originating |
|
No |
Yes |
Stateless |
POJO |
Prerequisite Features
-
SIP Subscriber Determination — in order to know who the subscriber is for the call.
Cassandra storage
The feature requires access to a Cassandra database to store records of PSAP calls.
Data Schema
If PSAP call are recorded using the SIP MESSAGE mechanism as per MMTel Determine PSAP Callback Configuration then the Cassandra configuration as per the MMTel Determine PSAP Callback Data Schema is required.
Configuration
Configuration for this feature is stored in the MMTelPSAPCallbackConfigProfileTable
profile table. Details can be found in the MMTel Determine PSAP Callback feature documentation.
Session Input Variables
Session State variable name | Type | Comments |
---|---|---|
|
SentinelSelectionKey |
Determines which configuration to use. |
|
String |
Subscriber value is used as the primary key in the Cassandra database as determined by SIP Subscriber Determination |
|
ActivityContextInterface |
The ACI used to update Cassandra. |
|
Long |
Used to determine and log latency of Cassandra queries. |
Session Output Variables
Session State variable name | Type | Comments |
---|---|---|
|
ActivityContextInterface |
Stored off so that the feature can detach from the ACI when finished. |
|
Long |
Used to determine and log latency of Cassandra queries. |
Statistics
MMTelRecordPSAPCall
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 → MMTelDeterminePSAPCallback
or with rhino-stats:
"SLEE-Usage.Services.ServiceID[name=sentinel.volte.sip,vendor=OpenCloud,version=4.1].SbbID[name=sentinel.volte.sip,vendor=OpenCloud,version=4.1].feature.MMTelRecordPSAPCall"
Statistic | Incremented when… |
---|---|
|
The feature runs |
|
Sentinel VoLTE encounters an error while attempting to start the feature |
|
A fatal problem is encountered and the feature cannot execute correctly |
|
The feature doesn’t have any config. |
|
The feature was started with a SIP request which is not a MESSAGE. |
|
A PSAP call has been successfully recorded in Cassandra. |
|
The feature has sent an update to Cassandra. |
|
The feature failed to send an update to Cassandra. |
|
The feature received an error response from Cassandra. |
|
The feature received a success response from Cassandra. |
|
The feature sent a response to the incoming SIP MESSAGE. |
|
The feature allowed the incoming SIP MESSAGE to continue propagating through the network. |
|
Time from sending the Cassandra request to receiving the Cassandra result, sampled on receipt of the result |
Behaviour
The feature’s behaviour depends on the trigger. There are 3 supported triggers, a SipRequest
, CassandraQueryResultEvent
, and CassandraErrorEvent
.
Invoked by a SipRequest
If invoked by a SipRequest
trigger the feature first performs some checks to ensure that the request is a SIP MESSAGE. It then checks the request URI to identify messages notifying PSAP calls. SIP MESSAGEs that identify PSAP calls have a request URI of urn:service:sos
.
If the SIP MESSAGE is identified as a PSAP call notification then the feature records that the subscriber has placed a PSAP call in Cassandra using a TTL as configured in the ExpiryTime
profile field. The feature then waits for a response from Cassandra. If TerminateMessage
is set to true
the feature sends a 200 OK
response to the incoming SIP MESSAGE otherwise the SIP MESSAGE is allowed to propagate through the rest of the network.