Example 7 Accessing Data from Multiple Headers of the Same Type
For this manipulation rule, the Oracle® Enterprise Session Border Controller stores the user name from the Params header. It then adds the URI parameter c1 with the value stored from the first Params header. Finally, it adds the URI parameter c2 with the value stored from the second Params header.
This is a sample of the configuration:
sip-manipulation
name Params
header-rule
name storeParams
header-name Params
action store
comparison-type case-sensitive
match-value
msg-type request
new-value
methods INVITE
element-rule
name storeUserName
parameter-name user
type uri-user
action store
match-val-type any
comparison-type case-sensitive
match-value
new-value
header-rule
name modEdit
header-name Edit
action manipulate
comparison-type pattern-rule
match-value
msg-type request
new-value
methods INVITE
element-rule
name addParam1
parameter-name c1
type uri-param
action add
match-val-type any
comparison-type case-sensitive
match-value
new-value $storeParams[0].$storeUserName.$0
element-rule
name addParam2
parameter-name c2
type uri-param
action add
match-val-type any
comparison-type case-sensitive
match-value
new-value $storeParams[1].$storeUserName.$0
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=z9hG4bK9g855p30cos08acgs6o0.1
From: sipp <sip:sipp@192.168.1.60:5060>;tag=SD99ri601-1
To: sut <sip:service@192.168.1.61:5060>
Call-ID: SD99ri601-6f5691f6461356f607b0737e4039caec-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;c1=sipp1;c2=sipp2>
Max-Forwards: 69
Subject: Performance Test
Content-Type: application/sdp
Content-Length: 140


