Hello,
I have remote users registering/ routing calls through my server. When calls do
pass through the server, the server updates the from name, to uri and from uri
via updating the pseudovariables $fn, $tu, and $fu respectively. While this is
has been working, I do occasionally see calls failing to process as the remote
gateway fails the call with a "400 Bad From header". Inspecting the A-leg
INVITE and the B-leg INVITE after updating the pseudovariables, I see the
following:
A-leg INVITE:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP
79..xx.xx.xx:61379;rport;branch=z9hG4bKPj2b8935f4460447538d0176dcfb5c74a1
Max-Forwards: 70
From: sip:[email protected];tag=dff3c585a6154f23898e1121918f1752
To: sip:[email protected]
Contact: <sip:[email protected]:61379;ob>
Call-ID: d793331e066f47bdafc0ad957cb506cc
CSeq: 30770 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER,
MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
Proxy-Authorization: Digest username="12223334444", realm="example.com",
nonce="ZhUw02YVL6cdi51KMymTxGpzCZCZhd8G",
[uri="sip:[email protected]](mailto:uri=)",
response="3a25b4ea0b1154e31caee1184a92f12b"
Content-Type: application/sdp
Content-Length: 627
v=0
o=- 3921660487 3921660487 IN IP4 79..xx.xx.xx
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4006 RTP/AVP 96 97 98 99 3 0 8 9 120 121 122
c=IN IP4 79..xx.xx.xx
b=TIAS:64000
a=rtcp:4007 IN IP4 79..xx.xx.xx
a=sendrecv
a=rtpmap:96 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:98 speex/32000
a=rtpmap:99 iLBC/8000
a=fmtp:99 mode=30
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:120 telephone-event/16000
a=fmtp:120 0-16
a=rtpmap:121 telephone-event/8000
a=fmtp:121 0-16
a=rtpmap:122 telephone-event/32000
a=fmtp:122 0-16
a=ssrc:63772004 cname:3ff849bd611036a7
----------------------------------
B-leg INVITE:
INVITE sip:[email protected] SIP/2.0
Record-Route:
<sip:10.64.54.207;lr;ftag=dff3c585a6154f23898e1121918f1752;did=e21.65c1>
Via: SIP/2.0/UDP
10.64.54.207:5060;branch=z9hG4bK919d.5ca83e030c0879093169546cd80591a6.0
Via: SIP/2.0/UDP
79..xx.xx.xx:61379;received=79..xx.xx.xx;rport=61379;branch=z9hG4bKPj2b8935f4460447538d0176dcfb5c74a1
Max-Forwards: 15
From: sip:[email protected]"Updated Name"
;tag=dff3c585a6154f23898e1121918f1752
To: sip:[email protected]
Contact: <sip:[email protected]:61379;ob>
Call-ID: d793331e066f47bdafc0ad957cb506cc
CSeq: 30770 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER,
MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
Content-Type: application/sdp
Content-Length: 609
v=0
o=- 3921660487 3921660487 IN IP4 10.64.54.207
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 18400 RTP/AVP 96 97 98 99 3 0 8 9 120 121 122
c=IN IP4 10.64.54.207
b=TIAS:64000
a=ssrc:63772004 cname:3ff849bd611036a7
a=rtpmap:96 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:98 speex/32000
a=rtpmap:99 iLBC/8000
a=fmtp:99 mode=30
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:120 telephone-event/16000
a=fmtp:120 0-16
a=rtpmap:121 telephone-event/8000
a=fmtp:121 0-16
a=rtpmap:122 telephone-event/32000
a=fmtp:122 0-16
a=sendrecv
a=rtcp:18401
Note that I've updated the following on the B-leg:
$fn = "Updated Name" // originally nothing
$fu = sip:[email protected] // originally sip:[email protected]
$tu = sip:[email protected] // originally sip:[email protected]
While the from uri, and to uri do get updated, the from name is injected in the
wrong place of the from header. This only seems to happen when the A-leg is
missing the "<" and ">" characters enclosing the from headers.
Should I not be updating the pseudo variables in this manner to update the from
name, to uri and from uri; is there another way to update these attributes of
the header without malforming it?
Thank you.
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the
sender!
Edit mailing list options or unsubscribe: