Scenario:
endpoint (bob) <-> kamailio proxy (5.1.3) <-> kamailio backend (5.1.2)
Both kamailio instances are running the topos module (mysql backend).
Call setup is fine, but forwarding BYEs fail.
With a call from endpoint to kamailio, topos on the proxy scrambles
Contact to kamailio backend. But in responses from backend contact
remains untouched. In the ACK to the 200, topos on the proxy does
nothing. If the caller hangsup, the BYE will loop internally till max
hops is exceeded (483 which will be send to caller eventually).
When the backend initiates the call to the endpoint, topos appears to
work, but the BYE from the endpoint on hangup get a 404 Not here from
the proxy (route[WITHINDLG]).
Disabling topos on the proxy will result in a functioning proxy (config
attached).
Is there something wrong with my config? Or is this an unforseen
scenario that just doesn't work with topos?
* Endpoint to backend scenario
endpoint:5060 -> proxy:5060
INVITE sip:callee@sip.pocos.nl;transport=tcp SIP/2.0
Via: SIP/2.0/UDP endpoint:5060;rport;branch=...
Max-Forwards: 70
Route: <sip:proxy:5060;lr>
Contact: <sip:bob@endpoint:5060;ob>
proxy:5060 -> backend:5060
INVITE sip:callee@sip.itco.nl;transport=tcp SIP/2.0
Via: SIP/2.0/UDP proxy;branch=...
CSeq: 29848 INVITE
Route: <sip:proxy:5060;lr>
Contact: <sip:btpsh-5af5972d-bf5e-2@proxy>
backend:5060 -> proxy:5060
SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy;branch=...
Contact: <sip:atpsh-5af19bf0-9f94-7@backend>
proxy:5060 -> endpoint:5060
SIP/2.0 200 OK
Contact: <sip:atpsh-5af19bf0-9f94-7@backend>
Via: SIP/2.0/UDP endpoint:5060;received=endpoint;rport=5060;branch=...
Record-Route: <sip:proxy;lr>
endpoint:5060 -> proxy:5060
ACK sip:atpsh-5af19bf0-9f94-7@backend SIP/2.0
Via: SIP/2.0/UDP endpoint:5060;rport;branch=...
Route: <sip:proxy;lr>
proxy:5060 -> backend:5060
ACK sip:atpsh-5af19bf0-9f94-7@backend SIP/2.0
Via: SIP/2.0/UDP proxy;branch=...
Via: SIP/2.0/UDP endpoint:5060;received=endpoint;rport=5060;branch=...
endpoint:5060 -> proxy:5060
BYE sip:atpsh-5af19bf0-9f94-7@backend SIP/2.0
Via: SIP/2.0/UDP endpoint:5060;rport;branch=...
Max-Forwards: 70
Route: <sip:proxy;lr>
proxy:5060 -> proxy:5060
BYE sip:atpsh-5af19bf0-9f94-7@backend SIP/2.0
Via: SIP/2.0/UDP proxy;branch=...
Via: SIP/2.0/UDP endpoint:5060;received=endpoint;rport=5060;branch=...
Max-Forwards: 69
Route: <sip:proxy;lr>
proxy:5060 -> proxy:5060
BYE sip:atpsh-5af19bf0-9f94-7@backend SIP/2.0
Via: SIP/2.0/UDP proxy;branch=...
Via: SIP/2.0/UDP proxy;rport=5060;branch=...
Via: SIP/2.0/UDP endpoint:5060;received=endpoint;rport=5060;branch=...
Max-Forwards: 68
Route: <sip:proxy;lr>
[not going to mention the 50+ BYEs adding Vias and decrementing
Max-Forwards.
* Backend to endpoint scenario
backend:5060 -> proxy:5060
INVITE sip:bob@endpoint:5060;ob SIP/2.0
Via: SIP/2.0/UDP backend;branch=...
Route: <sip:loadbalancer@proxy;lr;received=sip:endpoint:5060>
Contact: <sip:btpsh-5af07a27-72b-502c1@backend>
proxy:5060 -> endpoint:5060
INVITE sip:bob@endpoint:5060;ob SIP/2.0
Via: SIP/2.0/UDP proxy;branch=...
Contact: <sip:btpsh-5af5972d-bf5d-5@proxy>
endpoint:5060 -> proxy:5060
SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy;received=proxy;branch=...
Contact: <sip:bob@endpoint:5060;ob>
proxy:5060 -> backend:5060
SIP/2.0 200 OK
Contact: <sip:bob@endpoint:5060;ob;alias=endpoint~5060~1>
Via: SIP/2.0/UDP backend;rport=5060;branch=...
Record-Route: <sip:proxy;lr>
endpoint:5060 -> proxy:5060
BYE sip:btpsh-5af5972d-bf5d-5@proxy SIP/2.0
Via: SIP/2.0/UDP endpoint:5060;rport;branch=...
proxy:5060 -> endpoint:5060
SIP/2.0 404 Not here
Via: SIP/2.0/UDP endpoint:5060;rport=5060;branch=...