Looking into the topos module of 4.4.2 I see something unexpected, ACK and
BYE are routed directly to the Contact in the 200 OK on an INVITE where
the 200 OK has a Record-Route.
Without the topos module the message flow is as expected:
109.235.32.57<->185.61.68.106<->109.235.32.55
With topos the ACK and BYE take a different route:
109.235.32.57<->185.61.68.106<->109.235.32.55
<->109.235.32.48
109.235.32.5x are proxies. 185.61.68.106 is the registrar
To my understanding, in the callflow below the ACK should be send via
the proxy that inserted Record-Route: <sip:109.235.32.55;lr> in the
200 OK. Am I wrong to conclude this or the topos module ignoring the
routing?
Also note the To/From are passed untouched in the ACK/BYE and the BYE to
the called endpoint hasn't had its Via headers stripped.
Call scenario:
tryba/+31407110xxx calls 0880100XXX. Both are registered to
185.61.68.106 via proxies (resp. 109.235.32.57 and 109.235.32.55)
From 109.235.32.57 -> 185.61.68.106:
INVITE
sip:0880100XXX@sip.itco.nl SIP/2.0
Record-Route: <sip:109.235.32.57;r2=on;lr>
Record-Route: <sip:109.235.32.57;transport=tcp;r2=on;lr>
Via: SIP/2.0/UDP
109.235.32.57;branch=z9hG4bK7dd7.e15a4ffb2c3a7f882117b80c85f75223.0;i=60c
Via: SIP/2.0/TCP
10.0.3.169:5067;rport=5067;received=109.235.34.226;branch=z9hG4bKb5004b60de287221
Route: <sip:109.235.32.57;transport=tcp;lr>
From: <sip:tryba@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:0880100XXX@sip.itco.nl>
Contact: <sip:tryba@10.0.3.169:5067;transport=tcp;alias=109.235.34.226~5067~2>
From 185.61.68.106 -> 109.235.32.55:
INVITE
sip:+31880100XXX@109.235.32.48 SIP/2.0
Via: SIP/2.0/UDP 185.61.68.106;branch=z9hG4bK7dd7.d4cdfe8014e0d5d806b4dc4a7422c8e0.1
Route: <sip:loadbalancer@109.235.32.55;lr;received=sip:109.235.32.48:5060>
From: <sip:+31407110XXX@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:+31880100XXX@sip.itco.nl>
Contact: <sip:btpsh-57b6cc75-f42d-1@185.61.68.106>
From 109.235.32.55 -> 185.61.68.106:
SIP/2.0
200 OK
Via: SIP/2.0/UDP
185.61.68.106;rport=5060;branch=z9hG4bK7dd7.d4cdfe8014e0d5d806b4dc4a7422c8e0.1
Record-Route: <sip:109.235.32.55;lr>
From: <sip:+31407110XXX@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:+31880100XXX@sip.itco.nl>;tag=as61fc6a47
Contact: <sip:%2b31880100XXX@109.235.32.48>
From 185.61.68.106 -> 109.235.32.57
SIP/2.0
200 OK
From: <sip:tryba@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:0880100XXX@sip.itco.nl>;tag=as61fc6a47
Via: SIP/2.0/UDP
109.235.32.57;branch=z9hG4bK7dd7.e15a4ffb2c3a7f882117b80c85f75223.0;i=60c,SIP/2.0/TCP
10.0.3.169:5067;rport=5067;received=109.235.34.226;branch=z9hG4bKb5004b60de287221
Contact: <sip:atpsh-57b6cc75-f42d-2@185.61.68.106>
Record-Route:
<sip:109.235.32.57;r2=on;lr>,<sip:109.235.32.57;transport=tcp;r2=on;lr>
From 109.235.32.57 -> 185.61.68.106:
ACK
sip:atpsh-57b6cc75-f42d-2@185.61.68.106 SIP/2.0
Via: SIP/2.0/UDP
109.235.32.57;branch=z9hG4bK7dd7.a49ec0c055166a1935ff84cfca4d1a5c.0;i=60c
Via: SIP/2.0/TCP
10.0.3.169:5067;rport=5067;received=109.235.34.226;branch=z9hG4bK24aff2df2ee7b43f
From: <sip:tryba@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:0880100XXX@sip.itco.nl>;tag=as61fc6a47
Contact: <sip:tryba@10.0.3.169:5067;transport=tcp;alias=109.235.34.226~5067~2>
From 185.61.68.106 -> 109.235.32.48
ACK
sip:%2b31880100XXX@109.235.32.48 SIP/2.0
Via: SIP/2.0/UDP 185.61.68.106;branch=z9hG4bK7dd7.ac1b9a45042f9c26277afb9ec32bebe0.0
From: <sip:tryba@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:0880100XXX@sip.itco.nl>;tag=as61fc6a47
Contact: <sip:btpsh-57b6cc75-f42d-1@185.61.68.106>
From 109.235.32.57 -> 185.61.68.106
BYE
sip:atpsh-57b6cc75-f42d-2@185.61.68.106 SIP/2.0
Via: SIP/2.0/UDP
109.235.32.57;branch=z9hG4bK4dd7.24da86af0a970ee399c9504933d8d751.0;i=60c
Via: SIP/2.0/TCP
10.0.3.169:5067;rport=5067;received=109.235.34.226;branch=z9hG4bK0d8db1380c5011b6
From: <sip:tryba@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:0880100XXX@sip.itco.nl>;tag=as61fc6a47
From 185.61.68.106 -> 109.235.32.48
BYE
sip:%2b31880100XXX@109.235.32.48 SIP/2.0
Via: SIP/2.0/UDP 185.61.68.106;branch=z9hG4bK4dd7.4916bf7bcaa3b0346e43c3785a9be782.0
Via: SIP/2.0/UDP
109.235.32.57;branch=z9hG4bK4dd7.24da86af0a970ee399c9504933d8d751.0;i=60c
Via: SIP/2.0/TCP
10.0.3.169:5067;rport=5067;received=109.235.34.226;branch=z9hG4bK0d8db1380c5011b6
From: <sip:tryba@sip.itco.nl>;tag=576aff337d33fbe5
To: <sip:0880100XXX@sip.itco.nl>;tag=as61fc6a47