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@5hp0nn5hqqv9.invalid;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
El Tue, 23 Mar 2021 18:43:37 -0300 Vinicius Kwiecien Ruoso vinicius@leads2b.com escribió:
using the Path module on Asterisk, so when registering, the path is recorded and sent back from Asterisk, Kamailio is also not respecting that
you'll need to share your config and logs. This should work in your scenario.
So it’s an outbound call to a webrtc registered user? If so, kamailio should route it to wherever the called user is registered.
On Tue, 23 Mar 2021 at 23:29, Jon Bonilla (Manwe) manwe@sipdoc.net wrote:
El Tue, 23 Mar 2021 18:43:37 -0300 Vinicius Kwiecien Ruoso vinicius@leads2b.com escribió:
using the Path module on Asterisk, so when registering, the path is recorded and sent back from Asterisk, Kamailio is also not respecting that
you'll need to share your config and logs. This should work in your scenario.
-- PekePBX, the multitenant PBX solution https://pekepbx.com _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
So it’s an outbound call to a webrtc registered user? If so, kamailio should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
you'll need to share your config and logs. This should work in your scenario.
Turns out looking closer, Asterisk is not respecting the Path protocol [1] [2]. In the INVITE sent to Kamailio, there is no information about the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
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@5hp0nn5hqqv9.invalid;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they won't do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it. [3] https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking for a workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso < vinicius@leads2b.com> wrote:
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
So it’s an outbound call to a webrtc registered user? If so, kamailio should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
you'll need to share your config and logs. This should work in your
scenario.
Turns out looking closer, Asterisk is not respecting the Path protocol [1] [2]. In the INVITE sent to Kamailio, there is no information about the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
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@5hp0nn5hqqv9.invalid;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com wrote:
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they won't do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it. [3] https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking for a workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
So it’s an outbound call to a webrtc registered user? If so, kamailio should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
you'll need to share your config and logs. This should work in your scenario.
Turns out looking closer, Asterisk is not respecting the Path protocol [1] [2]. In the INVITE sent to Kamailio, there is no information about the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
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@5hp0nn5hqqv9.invalid;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Send the invite to all asterisk, whichever has it will respond.
On Thu, 25 Mar 2021 at 01:41, Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com wrote:
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they won't do
anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it.
[3]
https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking for a
workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso <
vinicius@leads2b.com> wrote:
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
So it’s an outbound call to a webrtc registered user? If so, kamailio should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
you'll need to share your config and logs. This should work in your
scenario.
Turns out looking closer, Asterisk is not respecting the Path protocol [1] [2]. In the INVITE sent to Kamailio, there is no information about the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
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@5hp0nn5hqqv9.invalid
;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi David,
Each Asterisk is independent in my setup. Also, the issue is with calls from Asterisk with destination to a client connected via websocket. The browser is not directly connected to Asterisk, but to Kamailio.
Thanks, Vinicius
On Thu, Mar 25, 2021 at 7:01 AM David Villasmil david.villasmil.work@gmail.com wrote:
Send the invite to all asterisk, whichever has it will respond.
On Thu, 25 Mar 2021 at 01:41, Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com wrote:
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they won't do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it. [3] https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking for a workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
So it’s an outbound call to a webrtc registered user? If so, kamailio should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
you'll need to share your config and logs. This should work in your scenario.
Turns out looking closer, Asterisk is not respecting the Path protocol [1] [2]. In the INVITE sent to Kamailio, there is no information about the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
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@5hp0nn5hqqv9.invalid;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Use asterisk 13 with chan_sip + PATH
Regardless, it's becoming off-topic as the quarrel is with Asterisk.
On Thu, Mar 25, 2021 at 8:16 AM Vinicius Kwiecien Ruoso < vinicius@leads2b.com> wrote:
Hi David,
Each Asterisk is independent in my setup. Also, the issue is with calls from Asterisk with destination to a client connected via websocket. The browser is not directly connected to Asterisk, but to Kamailio.
Thanks, Vinicius
On Thu, Mar 25, 2021 at 7:01 AM David Villasmil david.villasmil.work@gmail.com wrote:
Send the invite to all asterisk, whichever has it will respond.
On Thu, 25 Mar 2021 at 01:41, Vinicius Kwiecien Ruoso <
vinicius@leads2b.com> wrote:
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com
wrote:
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they won't
do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it.
[3]
https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking for a
workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso <
vinicius@leads2b.com> wrote:
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
So it’s an outbound call to a webrtc registered user? If so,
kamailio
should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
you'll need to share your config and logs. This should work in
your scenario.
Turns out looking closer, Asterisk is not respecting the Path
protocol
[1] [2]. In the INVITE sent to Kamailio, there is no information
about
the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2]
https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
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@5hp0nn5hqqv9.invalid
;transport=ws
None with success. Any hints on that can be wrong? I can share more detailed information.
Greetings, Vinicius
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Asterisk 13 will be EOL soon, so that would be my last resort.
Do you have any input if the contact alias should be enough to get this working in that case?
On Thu, Mar 25, 2021 at 9:47 AM Sergiu Pojoga pojogas@gmail.com wrote:
Use asterisk 13 with chan_sip + PATH
Regardless, it's becoming off-topic as the quarrel is with Asterisk.
On Thu, Mar 25, 2021 at 8:16 AM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi David,
Each Asterisk is independent in my setup. Also, the issue is with calls from Asterisk with destination to a client connected via websocket. The browser is not directly connected to Asterisk, but to Kamailio.
Thanks, Vinicius
On Thu, Mar 25, 2021 at 7:01 AM David Villasmil david.villasmil.work@gmail.com wrote:
Send the invite to all asterisk, whichever has it will respond.
On Thu, 25 Mar 2021 at 01:41, Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com wrote:
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they won't do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it. [3] https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking for a workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi!
Thanks for the fast response. Sorry about not replying to the correct email, I've just entered the list and was not getting its individual emails.
> So it’s an outbound call to a webrtc registered user? If so, kamailio > should route it to wherever the called user is registered.
Yes, it is a call from the backend Asterisk to a user registered via the websocket. The register is not stored in Kamailio, so it needs to use the information in the INVITE message to be able to route to the correct connection.
> you'll need to share your config and logs. This should work in your scenario.
Turns out looking closer, Asterisk is not respecting the Path protocol [1] [2]. In the INVITE sent to Kamailio, there is no information about the path in the message.
To me the best second approach that should work is the "alias=" information in the contact. That makes sense?
I'm sharing my current config as an attachment here. I'm new to Kamailio, so I might be missing something really obvious here.
[1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
Thanks, Vinicius
On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote: > > 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@5hp0nn5hqqv9.invalid;transport=ws > > None with success. Any hints on that can be wrong? I can share more > detailed information. > > Greetings, > Vinicius _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Yes, *add_contact_alias* for register on the way to asterisk followed by *handle_ruri_alias* for requests from asterisk will do the job.
I assume you followed the famous https://github.com/havfo/WEBRTC-to-SIP
Regards, --Sergiu
On Fri, Mar 26, 2021 at 11:04 AM Vinicius Kwiecien Ruoso < vinicius@leads2b.com> wrote:
Asterisk 13 will be EOL soon, so that would be my last resort.
Do you have any input if the contact alias should be enough to get this working in that case?
On Thu, Mar 25, 2021 at 9:47 AM Sergiu Pojoga pojogas@gmail.com wrote:
Use asterisk 13 with chan_sip + PATH
Regardless, it's becoming off-topic as the quarrel is with Asterisk.
On Thu, Mar 25, 2021 at 8:16 AM Vinicius Kwiecien Ruoso <
vinicius@leads2b.com> wrote:
Hi David,
Each Asterisk is independent in my setup. Also, the issue is with calls from Asterisk with destination to a client connected via websocket. The browser is not directly connected to Asterisk, but to Kamailio.
Thanks, Vinicius
On Thu, Mar 25, 2021 at 7:01 AM David Villasmil david.villasmil.work@gmail.com wrote:
Send the invite to all asterisk, whichever has it will respond.
On Thu, 25 Mar 2021 at 01:41, Vinicius Kwiecien Ruoso <
vinicius@leads2b.com> wrote:
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com
wrote:
Vinicius,
The obvious is that PATH is broken in Asterisk's PJSIP and they
won't do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it.
[3]
https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path...
Bottom line: there's nothing wrong with Kamailio. Start looking
for a workaround, don't bet on Sangoma to fix it any time soon, lol.
Regards, --Sergiu
On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso <
vinicius@leads2b.com> wrote:
> > Hi! > > Thanks for the fast response. Sorry about not replying to the
correct
> email, I've just entered the list and was not getting its
individual
> emails. > > > So it’s an outbound call to a webrtc registered user? If so,
kamailio
> > should route it to wherever the called user is registered. > > Yes, it is a call from the backend Asterisk to a user registered
via
> the websocket. The register is not stored in Kamailio, so it
needs to
> use the information in the INVITE message to be able to route to
the
> correct connection. > > > you'll need to share your config and logs. This should work in
your scenario.
> > Turns out looking closer, Asterisk is not respecting the Path
protocol
> [1] [2]. In the INVITE sent to Kamailio, there is no information
about
> the path in the message. > > To me the best second approach that should work is the "alias=" > information in the contact. That makes sense? > > I'm sharing my current config as an attachment here. I'm new to > Kamailio, so I might be missing something really obvious here. > > [1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 > [2]
https://community.asterisk.org/t/pjsip-path-module-issues/88046/12
> > Thanks, > Vinicius > > On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso > vinicius@leads2b.com wrote: > > > > 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@5hp0nn5hqqv9.invalid
;transport=ws
> > > > None with success. Any hints on that can be wrong? I can share
more
> > detailed information. > > > > Greetings, > > Vinicius > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi Sergiu,
Thanks for that lead. I was using a variant of that.
Going through it was very helpful in finding the issues in my config and now it is working to generate calls from Asterisk to the registered user in the browser!
Thanks, Vinicius
On Fri, Mar 26, 2021 at 1:35 PM Sergiu Pojoga pojogas@gmail.com wrote:
Yes, add_contact_alias for register on the way to asterisk followed by handle_ruri_alias for requests from asterisk will do the job.
I assume you followed the famous https://github.com/havfo/WEBRTC-to-SIP
Regards, --Sergiu
On Fri, Mar 26, 2021 at 11:04 AM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Asterisk 13 will be EOL soon, so that would be my last resort.
Do you have any input if the contact alias should be enough to get this working in that case?
On Thu, Mar 25, 2021 at 9:47 AM Sergiu Pojoga pojogas@gmail.com wrote:
Use asterisk 13 with chan_sip + PATH
Regardless, it's becoming off-topic as the quarrel is with Asterisk.
On Thu, Mar 25, 2021 at 8:16 AM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi David,
Each Asterisk is independent in my setup. Also, the issue is with calls from Asterisk with destination to a client connected via websocket. The browser is not directly connected to Asterisk, but to Kamailio.
Thanks, Vinicius
On Thu, Mar 25, 2021 at 7:01 AM David Villasmil david.villasmil.work@gmail.com wrote:
Send the invite to all asterisk, whichever has it will respond.
On Thu, 25 Mar 2021 at 01:41, Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote:
Hi Segiu,
Yeah, I understand that won't be the way forward, so I need another way for Kamailio to figure out the route to the websocket when Asterisk is making the call.
I've shared my config file, also with some attempts commented in the previous emails. The alternatives were to use an alias, or an encoded param. I think the alias would be a better alternative, but could not get it right yet.
Greetings, Vinicius
On Wed, Mar 24, 2021 at 7:16 PM Sergiu Pojoga pojogas@gmail.com wrote: > > Vinicius, > > The obvious is that PATH is broken in Asterisk's PJSIP and they won't do anything about it as it's marked "minor". It's been 2 yrs now that me and others have reported it. > [3] https://community.asterisk.org/t/wrong-d-uri-for-invites-with-pjsip-and-path... > > Bottom line: there's nothing wrong with Kamailio. Start looking for a workaround, don't bet on Sangoma to fix it any time soon, lol. > > Regards, > --Sergiu > > > > On Wed, Mar 24, 2021 at 4:52 PM Vinicius Kwiecien Ruoso vinicius@leads2b.com wrote: >> >> Hi! >> >> Thanks for the fast response. Sorry about not replying to the correct >> email, I've just entered the list and was not getting its individual >> emails. >> >> > So it’s an outbound call to a webrtc registered user? If so, kamailio >> > should route it to wherever the called user is registered. >> >> Yes, it is a call from the backend Asterisk to a user registered via >> the websocket. The register is not stored in Kamailio, so it needs to >> use the information in the INVITE message to be able to route to the >> correct connection. >> >> > you'll need to share your config and logs. This should work in your scenario. >> >> Turns out looking closer, Asterisk is not respecting the Path protocol >> [1] [2]. In the INVITE sent to Kamailio, there is no information about >> the path in the message. >> >> To me the best second approach that should work is the "alias=" >> information in the contact. That makes sense? >> >> I'm sharing my current config as an attachment here. I'm new to >> Kamailio, so I might be missing something really obvious here. >> >> [1] https://issues.asterisk.org/jira/browse/ASTERISK-28211 >> [2] https://community.asterisk.org/t/pjsip-path-module-issues/88046/12 >> >> Thanks, >> Vinicius >> >> On Tue, Mar 23, 2021 at 6:43 PM Vinicius Kwiecien Ruoso >> vinicius@leads2b.com wrote: >> > >> > 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@5hp0nn5hqqv9.invalid;transport=ws >> > >> > None with success. Any hints on that can be wrong? I can share more >> > detailed information. >> > >> > Greetings, >> > Vinicius >> _______________________________________________ >> Kamailio (SER) - Users Mailing List >> sr-users@lists.kamailio.org >> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Regards,
David Villasmil email: david.villasmil.work@gmail.com phone: +34669448337 _______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users