[SR-Users] Kamailio + Websocket issues

Vinicius Kwiecien Ruoso vinicius at leads2b.com
Tue Mar 23 22:43:37 CET 2021


Hi!

I'm using Kamaio in front of multiple Asterisk instances. At this
moment it works as a SIP over Websocket proxy, with rtpengine, for
browser clients to connect to Asterisk using WebRTC. I do not use the
registration module of Kamailio, as each backend Asterisk is
independent and handles its own registrations.

Everything works great when making calls from the browser, and the
routing is correctly executed by Kamailio based on the request SIP
domain. We have an internal routing API that it calls to discover
which backend Asterisk to route the calls.

The issue I have is when a call initiates from that backend Asterisk,
trying to reach a contact that is connected in Kamailio via the
websocket. The Asterisk sends the message to the proxy, and Kamailio
must route it to the corresponding websocket.

I've tried a few approaches:
- using add_contact_alias + handle_ruri_alias: I have the alias with
alias=<ip>~<port>~ws in the contact registration, but for some reason
handle_ruri_alias cannot use it
- using the Path module on Asterisk, so when registering, the path is
recorded and sent back from Asterisk, Kamailio is also not respecting
that
- Using contact_param_encode and contact_param_encode and
contact_param_decode_ruri, but the encoded sip address is always the
invalid websocket, like sip:58c0ktrg at 5hp0nn5hqqv9.invalid;transport=ws

None with success. Any hints on that can be wrong? I can share more
detailed information.

Greetings,
Vinicius



More information about the sr-users mailing list