Example 6 Manipulating Element Parameters

For this more complex manipulation rule, the Oracle® Enterprise Session Border Controller:

  • From the Display header, stores the display name, user name, URI parameter up, and header parameter hp
  • Adds the header parameter display to the Params header, with the stored value of the display name from the first step
  • Add the URI parameter user to the Params header, with the stored value of the display name from the first step
  • If the URI parameter match succeeds in the first step, replaces the URI parameter up with the Display header with the value def
  • If the header parameter match succeeds in the first step, deletes the header parameter hp from the Display header

This is a sample of the configuration:

sip-manipulation
        name                           elemParams
        header-rule
                name                           StoreDisplay
                header-name                    Display
                action                         store
                comparison-type                case-sensitive
                match-value
                msg-type                       request
                new-value
                methods                        INVITE
                element-rule
                        name                           displayName
                        parameter-name
                        type                           uri-display
                        action                         store
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value
                        new-value
element-rule
                        name                           userName
                        parameter-name                 user
                        type                           uri-user
                        action                         store
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value
                        new-value
element-rule
                        name                           uriParam
                        parameter-name                 up
                        type                           uri-param
                        action                         store
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value
                        new-value
element-rule
                        name                           headerParam
                        parameter-name                 hp
                        type                           header-param
                        action                         store
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value
                        new-value
        header-rule
                name                           EditParams
                header-name                    Params
                action                         manipulate
                comparison-type                case-sensitive
                match-value
                msg-type                       request
                new-value
                methods                        INVITE
                element-rule
                        name                           addHeaderParam
                        parameter-name                 display
                        type                           header-param
                        action                         add
match-val-type                 any
                        comparison-type                case-sensitive
                        match-value
                        new-value                      $StoreDisplay.$displayName.$0
                element-rule
                        name                           addUriParam
                        parameter-name                 user
                        type                           uri-param
                        action                         add
                        match-val-type                 any
                        comparison-type                case-sensitive
                        match-value
               new-value 
$StoreDisplay.$userName.$0
        header-rule
                name                           EditDisplay
                header-name                    Display
                action                         manipulate
                comparison-type                case-sensitive
                match-value
                msg-type                       request
                new-value
                methods                        INVITE
                element-rule
                        name                           replaceUriParam
                        parameter-name                 up
                        type                           uri-param
                        action                         replace
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value                    $StoreDisplay.$uriParam
                        new-value                      def
                element-rule
                        name                           delHeaderParam
                        parameter-name                 hp
                        type                           header-param
                        action                         delete-element
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value $StoreDisplay.$headerParam
                        new-value

This is a sample of the result:

Request-Line: INVITE sip:service@192.168.200.60:5060;tgid=123 SIP/2.0
    Message Header
        Via: SIP/2.0/UDP 192.168.200.61:5060;branch=z9hG4bK7okvei0028jgdacgh6c1.1
        From: sipp <sip:sipp@192.168.1.60:5060>;tag=SD89rm601-1
        To: sut <sip:service@192.168.1.61:5060>
        Call-ID: SD89rm601-b5b746cef19d0154cb1f342cb04ec3cb-06a3gu0
        CSeq: 1 INVITE
        Contact: <sip:sipp@192.168.200.61:5060;transport=udp>
        Goodbye: Remove Me
        Custom: This is my custom header
        Display: sipp <sip:user@192.168.1.60:5060;up=def>
        Params: sipp <sip:sipp1@192.168.1.60:5060;user=user>;display=sipp
        Params: sipp <sip:sipp2@192.168.1.60:5060;user=user>;display=sipp
        Edit: disp <sip:user@192.168.1.60:5060>
        Max-Forwards: 69
        Subject: Performance Test
        Content-Type: application/sdp
        Content-Length: 140