Kamailio seems to fail to properly route in-dialog SUBSCRIBE with the topos module enabled. In this configuration, SUBSCRIBEs are expected to be delivered to a downstream UAS, an asterisk instance in the internal network.
record_route() is executed for all initial requests, including SUBSCRIBEs. Routing is performed correctly with the topos module disabled, no other modifications were needed.
I haven't been able to work around this issue in any other way other than disabling the topos module.
The configuration used is a heavily modified version of the example configuration file, but the handling of SUBSCRIBEs is generally simple. The initial SUBSCRIBE is subject to some tests, the R-URI is edited and dispatched to a farm of asterisk servers based on some criteria. Record Routing is enforced, so subsequent in-dialog re-SUBSCRIBEs are expected to be routed with loose_route(), which doesn't seem to handle things properly.
I'm attaching kamailio logs with debug=4, cfg_trace
See attachments
Please see: https://www.cloudshark.org/captures/d2643aae7f2a
Using topoh instead for topos, but unfortunately this will break communication for other reasons (messages too large/UDP fragmentation for some peers).
Kamailio Version
Tried with kamailio 5.1.6 and kamailio 5.3.0-dev0
deb.kamailio.org repositories were used to acquire binaries for both versions
Operating System:
Debian Stretch
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.