Overview

The SIP Signaling Registration facility enables SBC to relay SIP endpoint registration information between these endpoints and the Registrar. The SIP Trunk group commands configure the time span allowed for an IAD before requiring re-registration.

The registration facility allows different expiration time on the untrusted versus trusted network. This can be used to reduce the registration refresh load on the registrars without sacrificing fast detection of failed IADs.

SIP Signaling Subscription enables the SBC to relay out-of-dialog “subscribe” and “notify” requests between unregistered endpoints. Unknown registration to the SBC may occur because the SBC is not located between an IAD and its Registrar. The Registrar’s default IP address is 0.0.0.0, and the portNum is “0”. This, or any other configured address, is overridden by per-transaction routing data from the SBC.

The SBC supports implicit registration of SIP endpoints. In other words, the SBC supports a SIP registrar returning a set of associated URIs that are implicitly registered in response to a “Register” message for a single Address of Record (AoR). The 200 response to the “Register” request identifies each implicitly registered URI in a P-Associated-URI header. P-Associated-URI headers in the 200 response are passed transparently by the SBC. Up to 20 P-Associated-URIs (each up to 103 bytes in length) can be carried in a single 200 response, except on NOTIFY where only 20 P-Associated-URIs are supported.

The SBC uses the entire AOR name to search the registration name status wherever the AOR name is present in the statistics table. TheSBC supports to search the registration name status based on the part of the AOR and the entries, which are not in the statistics table but registered in the SBC application using a part of the AOR name or the entire AOR name. The registration ID (RegID) is also used as a search function. In case of unknown registration ID, 0 is specified as a wildcard entry. AOR consists of userPart (user name) and hostname (user name end point IP address), and is expressed in the userPart@hostname format.

SIP Active Register Name Status Search Options

The SBC searches the registration name status based on part of the AOR and also provides the ability to search the entries, which are not in the statistics table but registered in the SBC application using a part of the AOR name or the entire AOR name. The registration ID (RegID) is also used as a search function. In case of unknown registration ID, 0 is specified as a wildcard entry. AOR consists of userPart (user name) and hostname (user name end point IP address), and is expressed in the userPart@hostname format.

The SBC includes the ability to view active register name status details for following scenarios using "show status/table addressContext sipActiveRegisterNameStatus" command as shown in the following examples. These examples are based on the full AOR, part of AOR (userPar only), and partial AOR (AOR+RegID).

Viewing All Active Register Information  

To view all active register details, use the following CLI syntax:

> show table addressContext <addressContextName> sipActiveRegisterNameStatus

> show table addressContext ADDR_CONTEXT_1 sipActiveRegisterNameStatus
                                                                             NEXT
                                                                  NEXT HOP   HOP    REGISTRAR             EXTERNAL    
                                                                  IP         PORT   IP         REGISTRAR  EXPIRATION  
AOR NAME            ID      STATE      CONTACT URI                ADDRESS    NUM    ADDRESS    PORT NUM   TIME        
----------------------------------------------------------------------------------------------------------------------
xiyu0@10.7.6.40    129024  completed  sip:xiyu0@10.7.6.40:14283   10.7.6.40  14283  10.7.6.40  14284      3598        
xiyu1@10.7.6.40    95488   completed  sip:xiyu1@10.7.6.40:14283   10.7.6.40  14283  10.7.6.40  14284      3598        
xiyu2@10.7.6.40    106496  completed  sip:xiyu2@10.7.6.40:14283   10.7.6.40  14283  10.7.6.40  14284      3598        
xiyu3@10.7.6.40    2560    completed  sip:xiyu3@10.7.6.40:14283   10.7.6.40  14283  10.7.6.40  14284      3598        
xiyu4@10.7.6.40    32000   completed  sip:xiyu4@10.7.6.40:14283   10.7.6.40  14283  10.7.6.40  14284      3598        
...
xiyu2047@10.7.6.40 32170   completed  sip:xiyu4@10.7.6.40:14283   10.7.6.40  14283  10.7.6.40  14284      3598   

Viewing Active Register Information Based on Full AOR

To view active register details based on AOR name (full AOR name, including userPart+hostName), append AOR to the end of the command:

> show table addressContext <addressContextName> sipActiveRegisterNameStatus <userPart> <hostName>

> show table addressContext ADDR_CONTEXT_1 sipActiveRegisterNameStatus xiyu24@10.7.6.40
                                                                               NEXT
                                                                    NEXT HOP   HOP    REGISTRAR             EXTERNAL    
                                                                    IP         PORT   IP         REGISTRAR  EXPIRATION  
AOR NAME            ID      STATE      CONTACT URI                  ADDRESS    NUM    ADDRESS    PORT NUM   TIME        
----------------------------------------------------------------------------------------------------------------------
xiyu24@10.7.6.40    129024  completed  sip:xiyu24@10.7.6.40:14283    10.7.6.40  14283  10.7.6.40  14284      3598        

Viewing Active Register Information Based on AOR/Partial AOR and Registration

To view active register details based on an AOR and registration, append AOR (userPart+hostName) or partial AOR (userPart) and regID parameters to the end of the command.

  • If the userPart is not unique in the filtered results, the show command only returns the first match.
  • If regID is unknown, use the wildcard "0".

In the below example, userPart "xiyu2545" and regID wildcard "0" are appended to the command.

> show table addressContext ADDR_CONTEXT_1 sipActiveRegisterNameStatus xiyu2545 0 
state                       completed;
contactURI                  sip:xiyu2545@10.7.6.40:14283;
nextHopIpAddress            10.7.6.40;
nextHopPortNum              14283;
registrarIpAddress          10.7.6.40;
registrarPortNum            14284;
externalExpirationTime      3598;
internalExpirationTime      3600;
creationTime                2015-09-04T13:36:37+00:00;
registrarDomainName         "";
endPointBehindNapt          0;
natPinholeLearningStatus    none;
securityMechanismType       none;
registrationType            normal;
e2aeMediaSecurity           none;
transportProtocolToEndpoint none;
transportProtocolToAS       udp;
externalExpirationTimeLeft  3178;
internalExpirationTimeLeft  2463;
Info

For more information on SIP active register search option, refer to:

Registration Display Enhancements

Modified: for 9.2.1

The S-SBC and I-SBC (in 1:1 deployments) support the display of various statistics and registration records in the system through EMS. To mitigate an historical upper limit of records that could be shown, the SBC:

  • Upon receiving a dump request from the customer over REST API:
    • Dumps the status of all the registered endpoints into a csv file in a compressed format (.gz).  
    • Dumps all the subscriptions generated by the SBC – specifically, sipGeneratedSubscriptionStatus – and the status for SIP endpoints, into a .csv file in a compressed format (.gz).
  • All dump requests are addressed by the SBC only if the feature global config is enabled. 
  • The SBC includes a Deleted Registers dump table, which dumps the last deleted (or expired) Registered endpoints.


Feature Limitations
  • On a switchover, this feature is available on the newly-active SBC. Any rollover of the dump commands started on the earlier Active SBC is not supported.

  • If the feature is enabled at runtime, the required status lists start capturing the status of the subscribers who have seen a Register/Refresh Register at least once. Additionally, the status lists will dump the complete set of registered subscribers on the system over a period of time. However, if the system experiences a restart while the feature is enabled, the complete set of registered subscribers are available in the status lists once the SBC application comes up.
  • A dumped status file remains in the system until the SBC receives the next dump request for a similar status. No history of the files are maintained in the SBC.

For configuration and statistics details, refer to:

Bulk Registration Support

The SBC supports the SIPConnect 1.1 feature as per the RFC 6140 “Registration for Multiple Phone Numbers in the SIP” (bulk registration) with the addition of “gin” option tag to Proxy-Require/Require headers. Additionally, in at least one Contact header, a Contact URI containing “bnc” parameter must be included to signify it is a bulk registration value. The default SIP To and From header username is sip:sbc@sonusnet.com.

To set registration requests to bulk registration format, use following CLI syntax:

% set addressContext <ac_name> zone <zone name> sipTrunkGroup <tg_name> signaling registration bulkRegisterFormat enable

For complete SIP trunk group configuration details, refer to:


EVENT Records Generation

The SBC can generate EVENT records (which appear in the .ACT log files) for each successful registration and de-registration.

For details on enabling the EVENT records, see the following wiki pages:


Registration Establishment

The SBC Core servers can function as registration proxies for access subscribers by accepting SIP REGISTERs and relaying the requests to an inside registrar. Additionally, the SBC can significantly offload the registrar by locally handling the registration refreshes and only periodically updating the registrar. This function is particularly critical in NAPT environments when the endpoints need to send a REGISTER as fast as every 30 seconds.

Refer to SBC Product Specifications page for the maximum initial REGISTER rate when coincident with REGISTER refreshes and background call load for existing registrations. Note that the maximum initial REGISTER rate without any background load is much higher. However, customers should use these numbers for planning purposes since the absence of other background load is unrealistic in real networks. 

This initial register rate is for the case when initial registers are challenged for authentication by the registrar. While the unchallenged initial register rate is much higher, the best practice is to securely authenticate subscribers before accepting registrations.

For best performance, use the default overload control settings and configure the unknown peer policer to admit the appropriate initial register rate for your subscriber environment. This ensures that the system provides acceptable performance when the actual initial register attempt rate is much higher than the values below (for example, after a major city comes back online after a power outage).

SIP session and registration capacity limits are derived using the following call flow baseline:

  1. INVITE
  2. 100 Trying
  3. 180 Ringing
  4. 200 OK
  5. ACK
  6. <talk time>
  7. BYE
  8. 200 OK

The basic initial REGISTER flow in this example consists of the following four-message exchange. In general, the registration capacity is associated with handling both the initial registration and registration refresh.

  1. REGISTER
  2. 401 (Unauthorized)
  3. REGISTER
  4. 200 OK

A refresh register flow consists of:

  • REGISTER
  • 200 OK
Note
The subscription ratio for UDP and TCP access load connection is 10:1.


Surrogate Registration Support

The SBC Core supports configuring surrogate registration information for a single IP Peer. Up to 256 Surrogate Registration entries are supported for each IP Peer.

The SBC also supports configuring multiple AoRs for the same IP-PBX using the Surrogate Registration Profile. Surrogate registration specific statistics are generated separately per surrogate AoR, as applicable, even if the statistics are associated with the same IP Peer. 

When configuring surrogate registration, only one of the following mutually exclusive parameters should be enabled at the IP Peer Surrogate Registrationlevel depending upon the number of AoRs per IP Peer desired.

  • Only one AoR per IP Peer to for surrogate registration—Configure only userPart at the surrogate registration level. With this method, you cannot associate a surrRegprofile with this peer.
  • Multiple AoRs for IP Peer for surrogate registration—Associate more than one AoR to the same peer by configuring and attaching a surrRegprofile to the IP peer. When using this profile, you cannot configure userPart at the surrogate registration level.

Surrogate Registration Profile Limitations
  • Configuration limitations: 
    • Up to 200 subscribers for each AoR
    • Up to 256 surrogate registration profiles system-wide
    • Up to 10,000 AoRs for surrogate registration system-wide
  • Subscriber numbers must be unique across the system.
  • Configure subscriber numbers using the same format as the numbers expected from the received call.
  • The SBC supports a registration rate of 100 registrations/second.

 

Note

If the same AorUsername is configured on two different peers, AorUserName start and end range values for either peer should not fall within start and end range values of the other peer. 

Note
Do not attach a surrogate registration profile to more than one peer.

In Access and Enterprise scenarios, the SBC can act as a surrogate registration entity between a non-registering IP-PBX (or SIP UA) and a REGISTRAR requesting registration. As an example, a new REGISTER request is sent towards the REGISTRAR to help the core network forward the incoming call to SBC. The SBC then forwards call to SIP UA based on SIP Registration Data and PSX configuration. An optional keep-alive message (based on OPTIONS Ping) is sent towards SIP UA to determine reachability of the UA from Access Server (AS), and the subsequent outage is reported to REGISTRAR with a ‘deregister’ message. On determining reachability of SIP UA, the UA is registered again with Registrar by the SBC.

When the SBC forwards requests coming from the IP-Peer to the AS, in some cases the AS will challenge the requests coming from IP-PBX. If IP-PBX does not support authentication handling, the SBC can be configured to respond to challenges from the AS on behalf of the IP-PBX using the "sendCredentials" parameter in the surrogate registration configuration for IP peers. The "sendCredentials" parameter supports three configurable options:

  • Challenge for any message
  • Challenge for any message and in-dialog requests
  • Challenge for register 

The SBC supports responding to challenges from AS for the following methods:

  1. REGISTER
  2. INVITE
  3. PRACK
  4. UPDATE
  5. REINVITE
  6. BYE



SIP Authentication Using Dedicated User Name

The SBC supports configuring a case-sensitive “Authentication ID” and password under the IP Peer object associated with an IP Peer which allows user to configure pilot number other than authorization user name. If IP Peer password is not empty, and if surrogate AoR password is empty, IP Peer password is used for credentials for all applicable methods, (e.g. REGISTER, INVITE).

In support of Surrogate Registration, when a REGISTER message is (re)sent with an Authorization or Proxy-Authorization header field in response to a challenge for authentication, the SBC retrieves the “Authentication ID” from the associated “IP Peer” object.

The selected “Authentication ID” is also used among other parameters, e.g., password, nonce, etc., in computing the “response” parameter of the header field per RFC 2617. The From/To/Contact header fields, however, continue to take the existing “User Part” from the associated “IP Peer/Surrogate Registration” entry as the “userinfo” part of the SIP URI.

To maintain backwards compatibility, during an LSWU from a previous release the value of the “Authentication ID” field is automatically filled with the existing “IP Peer/Surrogate Registration/User Part” field used for authorization in the previous release.

Note

If automatically filling Authentication ID is undesirable, after the LSWU completes, configure the “Authentication ID” with a new value such that its corresponding password in a server-specified protected realm can be located.

To configure SIP Authentication, refer to:

Authenticating New Connections by Registrar

The SBC forwards the refresh register to the Registrar under the following conditions:

  • Change in the source IP address
  • Change in the source Port when Integrated Access Device (IAD) is behind the Network Address Translation (NAT)

When an IAD re-establishes a TCP connection, it uses a different source port and same IP address. the SBC forwards the refresh register only if the IAD is configured behind the NAT, leaving the new connection unauthenticated.

The SIP Service Group logic forwards a register request when a change in connection parameter is detected under the following conditions, and the IAD is not required to be behind NAT. By forwarding the refresh register, the Registrar can authenticate the user by sending a 401 response.

  • Change in connection ID
  • Change in source IP address or port

Using New Connection for Existing Calls/Subscriptions

Currently, after a failover if the IAD reestablishes the connection and sends a refresh REGISTER, the SBC does not use the connection for mid dialog requests towards the IAD for both calls and subscription. With the implementation of this feature, the SBC supports to use the new connection for sending in-dialog requests for the existing calls and subscriptions towards the IAD.

Quick Re-registration on Alternate SIP Server When Primary Server is Down

In Access scenarios, SIP Registrars on Core facing Trunk Group are considered as primary-secondary/alternate for a particular user. The users are registered to the Primary Registrar when it is available and registered with the Secondary Registrar only when the Primary is down. After the Primary Registrar goes down, the Secondary Registrar allows any new calls or requests only after the completion of Successful registration. Whenever the Primary is down, SBC must send subsequent refresh registration from the user to the Secondary Registrar to establish the binding at the Secondary Registrar. Similarly, when the Primary comes back up, SBC must send the next subsequent refresh registration to the Primary Registrar. Any delay in this scenario causes loss of traffic until the registration is successful.

In earlier releases, when the primary SIP server goes down, the SBC did not register the alternate SIP server immediately. The SBC did not send the refresh REGISTER to the alternate SIP server until the internal refresh timer expired (3600 seconds). This resulted in a long downtime before the refresh REGISTER is passed on to the alternate SIP server for registration.

The SBC now supports relaying the first refresh REGISTER to alternate SIP server after it detects any status change in the primary SIP Server. This is controlled by IP Signaling Profile (IPSP) flags described later in this section. The SBC registers to the alternate SIP server immediately when Primary is down and reverts when Primary SIP server is up. The status of the server is detected through the blacklisting mechanism of PathCheck/ARS. For every switch from primary to secondary/alternate or from secondary/alternate to primary, the SBC queries the ERE/PSX to get the latest routing information and route refresh REGISTERs.

The SBC also supports a CLI request command to query PSX on new refresh REGISTERs.

Quick Re-registration on Alternate SIP Server When Primary Server is Down

 

IPSP Configuration

Note

This feature requires Pathcheck support using OPTIONS Ping and ARS static blacklisting to detect the reachability of a particular IP/FQDN.

The registrarRecovery parameter is added to IPSP commonIpAttributes object, and includes following flags:

  • registerToAlternateOnPrimaryDown (This flag must be enabled to view overrideInternalExpiresTimer and revertToPrimaryOnRecovery flags.)
  • overrideInternalExpiresTimer
  • revertToPrimaryOnRecovery (This flag must be enabled to view deRegisterAlternateOnPrimaryRecovery flag.)
  • deRegisterAlternateOnPrimaryRecovery
Note

Configure the IPSP flags on Egress Trunk Group only.

request Command

The CLI request queryPsxOnNextRefreshRegister command is used to force PSX query on subsequent refresh REGISTER. This enables new routing information configured in the PSX to be reflected in the SBC when registrations are active for a long period of time.

The queryPsxOnNextRefreshRegister command is used for one sequence of refresh REGISTERs on all active registrations. The new refresh REGISTERs is routed after a PSX query and the routes are selected from the PSX response.

Note

Any new registrations that are received after the command is executed are not affected by this command.

The queryPsxOnNextRefreshRegister command has following optional values:

  • newRegistrarIndex      
  • overRideInternalExpires
  • registrarFqdn  
  • registrarIpAddress 
Note

The request queryPsxOnNextRefreshRegister command must be executed only on the Ingress Trunk Group.

The request queryPsxOnNextRefreshRegister command is applied to all the refresh REGISTERs on all active registrations, which are currently handled by the SBC.

Note

If both request command and IPSP flags are configured, command takes the preference over IPSP flags.

For more information, refer to the section Configuring Alternate SIP Server When Primary Server is Down.