Multistage Routing Example 2

The following three local policy configuration elements are configured in the Oracle® Enterprise Session Border Controller:

Local Policy 1
  • from-address=*
  • to-address=159
  • source-realm=private
  • policy-attribute
    • next-hop=lrt:default-lrt
    • lookup=multi
  • policy-attribute
    • next-hop=192.168.200.50
    • lookup=single
Local Policy 2
  • from-address=*
  • to-address=192.168.1.49
  • source-realm=private
  • policy-attribute
    • next-hop=lrt:carrier-lrt
    • lookup=multi
  • policy-attribute
    • next-hop=lrt:emergency
    • lookup=single
Local Policy 3
  • from-address=*
  • to-address=215680000002
  • source-realm=private
  • policy-attribute
    • next-hop=192.168.200.98
    • lookup=single
  • policy-attribute
    • next-hop=192.168.200.97
    • lookup=single
  • policy-attribute
    • next-hop=192.168.200.44
    • lookup=multi
<route>
   <user type="E164">159</user>
      <next type="regex">!^.*$!sip:11568000000@192.168.200.47!</next>
      <next type="regex">!^.*$!sip:215680000002@192.168.200.99!</next>
      <next type="regex">!^.*$!sip:11578000000@192.168.200.44!</next>
</route>

INVITE sip:159@192.168.1.49:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.48:5060
From: sipp <sip:sipp@192.168.1.48:5060>;tag=1
To:sut<sip:159@192.168.1.49:5060>
Call-ID: 1-4576@192.168.1.48
CSeq: 1 INVITE
Contact: sip:sipp@192.168.1.48:5060
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length: 135

The local route table in default-lrt appears as follows:

<route>
	<user type="E164">159</user>
				<next type="regex">!^.*$!sip:11568000000@192.168.200.47!</next>
		<next type="regex">!^.*$!sip:215680000002@192.168.200.99!</next>
		<next type="regex">!^.*$!sip:11578000000@192.168.200.44!</next>
</route>
  1. The Oracle® Enterprise Session Border Controller receives an INVITE on realm, private (SDP is omitted below):
    INVITE sip:159@192.168.1.49:5060 SIP/2.0
    Via: SIP/2.0/UDP 192.168.1.48:5060
    From: sipp <sip:sipp@192.168.1.48:5060>;tag=1
    To: sut <sip:159@192.168.1.49:5060>
    Call-ID: 1-4576@192.168.1.48
    CSeq: 1 INVITE
    Contact: sip:sipp@192.168.1.48:5060
    Max-Forwards: 70
    Subject: Performance Test
    Content-Type: application/sdp
    Content-Length:  135
  2. The Oracle® Enterprise Session Border Controller performs a local policy search based on the following parameters:
    from-address:	sipp <sip:sipp@192.168.1.48:5060>;tag=1
    to-address:			sip:159@192.168.1.49:5060
    Source Realm:	private
  3. The local policy search returns the four following routes to try:
    lrt:default-lrt
    192.168.200.50
    lrt:emergency
    lrt:carrier-lrt

    The first next-hop route will be an LRT query. In addition, this policy attribute is configured with lookup=multi, meaning the results of the LRT query should be used for another local policy query, i.e., a second stage. More specifically, the request-uri that was received in response to the LRT query will be used as the to-uri in the next LP query.

    The Oracle® Enterprise Session Border Controller performs the LRT lookup in the default-lrt configuration element and is returned the following:

    sip:11568000000@192.168.200.47
    sip:215680000002@192.168.200.99
    sip:11578000000@192.168.200.44

    The Oracle® Enterprise Session Border Controller attempts to use the results from the LRT query for the next stage Local Policy lookup(s). Beginning with the first route and continuing in sequential order, the Oracle® Enterprise Session Border Controller will try to route the outgoing INVITE message by performing additional Local Policy lookups on the remaining LRT query results, until the INVITE is successfully forwarded.

    The Oracle® Enterprise Session Border Controller performs a local policy query on:

    sip:11568000000@192.168.200.47

    Which equates to a local policy lookup on:

    		from-URI=sipp <sip:sipp@192.168.1.48:5060>;
    		to-URI=sip:11568000000@192.168.200.47
    Source Realm: private

    The query fails because there is no Local Policy entry for 11568000000.

    The Oracle® Enterprise Session Border Controller performs a second query on request-uri

    sip:215680000002@192.168.200.99

    Which equates to a local policy lookup on:

    		from-URI=sipp <sip:sipp@192.168.1.48:5060>;
    		to-URI=sip:215680000002@192.168.200.99
    Source Realm: private

    The LP query is successful and returns the following next- hops:

    192.168.200.98
    	192.168.200.99
    192.168.200.44

    The three routes shown above represent the next stage of the multistage routing for this INVITE. The policy attributes’ lookup parameter is set to single for these next-hops. Therefore, the Oracle® Enterprise Session Border Controller will attempt to send the outgoing INVITE message to one or more of these next-hops; there are no more stages to check.

  4. The Oracle® Enterprise Session Border Controller sends an INVITE to 192.168.200.98:
    INVITE sip:215680000002@192.168.200.98;lr SIP/2.0
    Via: SIP/2.0/UDP 192.168.200.49:5060
    From: sipp <sip:sipp@192.168.1.48:5060>
    To: sut <sip:159@192.168.1.49:5060>
    Call-ID: SDnhae701-76e8c8b6e168958e385365657faab5cb-v3000i1
    CSeq: 1 INVITE
    Contact: <sip:sipp@192.168.200.49:5060;transport=udp>
    Max-Forwards: 69
    Subject: Performance Test
    Content-Type: application/sdp
    Content-Length: 140
  5. If the INVITE is sent to 192.168.200.98 successfully, the local policy routing will conclude and the call will continue processing. Otherwise the Oracle® Enterprise Session Border Controller will try the other next hops until a route succeeds or all next-hops have been exhausted