[sr-dev] [tracker] Task opened: tm doesn't relay changed 'To' header in CANCEL before dialog is established

sip-router bugtracker at sip-router.org
Tue Jul 16 22:01:20 CEST 2013


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Trip Volpe (tvolpe) 

Attached to Project - sip-router
Summary - tm doesn't relay changed 'To' header in CANCEL before dialog is established
Task Type - Bug Report
Category - tm
Status - Unconfirmed
Assigned To - 
Operating System - Linux
Severity - Medium
Priority - Normal
Reported Version - 3.3
Due in Version - Undecided
Due Date - Undecided
Details - We have a proxy component that changes the URIs in the To and From header fields of an INVITE before relaying it. If the proxy receives a CANCEL request before a dialog is established, the t_relay()ed CANCEL request shows the expected change in the 'From' header field, but not in the 'To' header field.


Here's an example of an INVITE received by the proxy:

INVITE sip:12067770000 at 127.0.0.3 SIP/2.0
Content-Length: 129
Via: SIP/2.0/UDP 127.0.0.1:5061;branch=z9hG4bKkrp82b0i9xlz7tax
From: sip:14045551111 at 127.0.0.1;tag=dygcqp9k
To: sip:12067770000 at 127.0.0.3
Contact: sip:pysyp at 127.0.0.1:5061
Cseq: 1 INVITE
Max-forwards: 70
Call-Id: 0ny3hvmqnnrbus54
Subject: Hello

<body omitted>


And here is the INVITE that it relays, after changing the To/From header fields:

INVITE sip:+12067770000 at 127.0.0.3:5060 SIP/2.0
Max-Forwards: 68
Record-Route: <sip:127.0.0.2;lr>
To: <sip:+12067770000 at flowroute.com>
From: <sip:+14045551111 at flowroute.com>;tag=dygcqp9k
Content-length: 129
Via: SIP/2.0/UDP 127.0.0.2;branch=z9hG4bK87ea.8740483fe93ecb70d83cbc88692e582e.0
Via: SIP/2.0/UDP 127.0.0.1:5061;branch=z9hG4bKkrp82b0i9xlz7tax
Contact: sip:pysyp at 127.0.0.1:5061
Cseq: 1 INVITE
Call-Id: 0ny3hvmqnnrbus54
Subject: Hello
P-Asserted-Identity: <sip:+14045551111 at flowroute.com>

<body omitted>


So far so good. Then the proxy receives this CANCEL:

CANCEL sip:12067770000 at 127.0.0.3 SIP/2.0
Content-length: 0
Via: SIP/2.0/UDP 127.0.0.1:5061;branch=z9hG4bKkrp82b0i9xlz7tax
From: sip:14045551111 at 127.0.0.1;tag=dygcqp9k
To: sip:12067770000 at 127.0.0.3
Contact: sip:pysyp at 127.0.0.1:5061
Cseq: 1 CANCEL
Max-Forwards: 70
Call-id: 0ny3hvmqnnrbus54


And the proxy relays it like this:

CANCEL sip:+12067770000 at 127.0.0.3:5060 SIP/2.0
Max-Forwards: 68
To: sip:12067770000 at 127.0.0.3
From: <sip:+14045551111 at flowroute.com>;tag=dygcqp9k
Content-length: 0
Via: SIP/2.0/UDP 127.0.0.2;branch=z9hG4bK87ea.8740483fe93ecb70d83cbc88692e582e.0
Cseq: 1 CANCEL
Call-id: 0ny3hvmqnnrbus54


Note that the 'From' header field reflects the change made to the INVITE, but the 'To' header field does not. It's the same as the original CANCEL.

The change in the 'To' field is relayed correctly for requests after a dialog has been established, e.g., when the proxy receives and relays an ACK or a CANCEL in after a 200 OK. It seems to be only before the dialog, so there's no to-tag.

More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=325

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.



More information about the sr-dev mailing list