Example 2 Manipulating the Request URI

For this manipulation rules, the Oracle® Enterprise Session Border Controller stores the URI parameter tgid in the Request URI. Then if the pattern rule matches, it adds a new header (x-customer-profile) with the a new header value tgid to the URI parameter in the request URI.

This is a sample of the configuration:

sip-manipulation
        name                           CustomerTgid
        header-rule
                name                           ruriRegex
                header-name                    request-uri
                action                         store
                comparison-type                pattern-rule
                match-value
                msg-type                       request
new-value
                methods                        INVITE
                element-rule
                        name                           tgidParam
                        parameter-name                 tgid
                        type                           uri-param
                        action                         store
                        match-val-type                 any
                        comparison-type                pattern-rule
                        match-value
                        new-value
header-rule
                name                           addCustomer
                header-name                    X-Customer-Profile
                action                         add
                comparison-type                pattern-rule
                match-value                    $ruriRegex.$tgidParam
                msg-type                       request
                new-value                      $ruriRegex.$tgidParam.$0
                methods                        INVITE
header-rule
                name                           delTgid
                header-name                    request-uri
                action                         manipulate
                comparison-type                pattern-rule
                match-value                    $ruriRegex.$tgidParam
                msg-type                       request
                new-value
                methods                        INVITE
                element-rule
                        name                           tgidParam
                        parameter-name                 tgid
                        type                           uri-param
                        action                         delete-element
                        match-val-type                 any
                        comparison-type                case-sensitive
                        match-value                    $ruriRegex.$tgidParam.$0
                        new-value

This is a sample of the result:

Request-Line: INVITE sip:service@192.168.200.60:5060 SIP/2.0
    Message Header
Via: SIP/2.0/UDP 192.168.200.61:5060;branch=z9hG4bK0g6plv3088h03acgh6c1.1
        From: sipp <sip:sipp@192.168.1.60:5060>;tag=SDc1rg601-1
        To: sut <sip:service@192.168.1.61:5060>
        Call-ID: SDc1rg601-f125d8b0ec7985c378b04cab9f91cc09-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=abc>;hp=123
Params: sipp <sip:sipp1@192.168.1.60:5060>
        Params: sipp <sip:sipp2@192.168.1.60:5060>
        Edit: disp <sip:user@192.168.1.60:5060>
        Max-Forwards: 69
        Subject: Performance Test
        Content-Type: application/sdp
        Content-Length: 140
        X-Customer-Profile: 123