Testing Guide of the Emergency Services Branch of the Open IMS Core

Homepage of the Emergency Services Open IMS Core Branch

How to create and end an emergency call using SIPp

Scripts for generating an emergency or non-emergency registration and also an emergency call can be found in the 12_em_services branch on the path ser_ims/test/emerg_serv. The scripts are using MD5 authentication. Unfortunately SIPp does not support (yet) the qop parameter.

Installing SIPp and configuring the Open IMS Core

  1. download the newest SIPp stable version (http://sipp.sourceforge.net)
  2. compile it with MD5 authentication support
  3. install SIPp
  4. Modify the scripts for the S-SCSCF (file scscf.cfg)
    set the default authentication algorithm to MD5

    modparam("scscf","registration_default_algorithm","MD5")
    

    set the qop parameter to ""

    modparam("scscf","registration_qop","")
    

Preliminary steps

If a LoST server is properly configured and running (including the modification of the LoST database to refer to the open-ims.test domain), a registered or anonymous user can generate an emergency call. Its location will be mapped to the PSAP URI sip:psap_nj@open-ims.test. The common steps to run these scenarios are:

Emergency calls with location information included by the caller

A registered user (Alice) generates the emergency call

  • PSAP registeres as non-emergency IMS registration
    sipp -sf non_em_reg_psap_nj.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3062 -m 1
    
  • Alice registeres as emergency IMS registration
    sipp -sf em_reg_alice.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1
    
  • PSAP waits for the call (UAS)
    sipp -sf uas_a2psap_nj.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3062 -m 1
    
  • Alice creates and ends an emergency call (UAC)
    sipp -sf em_uac_a2b.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1
    

An anonymoys user creates the emergency call

  • make sure that the P-CSCF is accepting anonymous calls.
    That means that in the pcscf.cfg file you must set the "anonym_em_call_support" parameter to 1 and restart the P-CSCF:

     
    modparam("pcscf","anonym_em_call_support",1)
    
  • PSAP registeres as non-emergency IMS registration
    sipp -sf non_em_reg_psap_nj.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3062 -m 1
    
  • PSAP waits for the call (UAS)
    sipp -sf uas_a2psap_nj.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3062 -m 1
    
  • the anonymous user creates and ends an emergency call (UAC)
    sipp -sf em_uac_anonym.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1
    

Emergency call with location information retrieved from the LOCSIP server

The testing scripts include also scripts for running stub LOCSIP server using SIPp. We provide 2 scripts, for the case that the LOCSIP server is aware of the user location (notify_active.xml) or not (notify_terminated.xml).
To run the scripts for the stub LOCSIP server use the general command:

sipp lrf_IP:port -i locsip_ip -p locsip_port -sf locsip_script -inf location.cvs 

Where:

  • lrf_IP:port are the IP and port of the LRF, for example: 127.0.0.1:8060
  • locsip_IP and locsip_port are the IP and port of the LOCSIP server to bind to, for example: 127.0.0.1 and 9180
  • locsip_script can be either notify_active.xml or notify_terminated.xm
  • location.cvs is a file that can send to the SIPp instance data, username, IP, port and associated location information of the user. It can be extended or modified

Generating the emergency call without location information

A registered user (Alice) generates the emergency call

  • Alice registeres as emergency IMS registration
    sipp -sf em_reg_alice.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1
    
  • Alice creates and ends an emergency call (UAC)
    sipp -sf em_uac_alice_no_loc.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1
    

LOCSIP server knows the location of the user

When using the notify_active.xml script by default the location will be New Jersey also. Please adjust the IP and port of the user in the location.csv file. So if the call will be forwarded to psap_nj@open-ims.test, as in the case the user includes its location information, see above how to run the scripts referring to the PSAP.

LOCSIP server does not know the location of the user

when the stub LOCSIP server is running the notify_terminated script, no location information will be send to the LRF. So the LRF will send an error message to the E-CSCF and the call will be forwarded to the default PSAP, if available at the E-CSCF, see below how to run the scripts referring to the PSAP.

Emergency calls forwarded to the default PSAP

If no PSAP URI is available, a default PSAP URI will be used by the ECSCF, possibly no new user in the HSS databases will be needed.

Alice acting as the Emergency Services client and Bob as the PSAP

  • set "using_default_psap" parameter in the ecscf.cfg to 1, default value is 0
    modparam("ecscf","using_default_psap",1)
    
  • set the default psap_uri in the ecscf.cfg as sip:bob@open-ims.test
    modparam("ecscf","default_psap_uri","sip:bob@open-ims.test")
    
  • start all the components : P/I/S/E-CSCF, HSS, LRF in parallel
  • go to the scripts folder
    cd ser_ims/test/emerg_test
    
  • Bob registeres as non-emergency IMS registration
    sipp -sf non_em_reg_bob.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3062 -m 1
    
  • Alice registeres as emergency IMS registration
    sipp -sf em_reg_alice.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1
    
  • Bob waits for the call (UAS)
    sipp -sf uas_a2b.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3062 -m 1
    
  • Alice creates and ends an emergency call (UAC)
    sipp -sf em_uac_a2b.xml 127.0.0.1:4060 -i 127.0.0.1 -p 3061 -m 1