Hello all,
My name is Nick Hurlburt, and work with a nonprofit tech organization that provides a software platform for child helplines around the world. I am a new user to Kamailio, and I'm interested in figuring out if my use case is appropriate, getting some tips on how to go about it, and possibly enlisting some expert help.
Our service is built on top of Twilio, but we are working in some countries where Twilio doesn't have phone numbers. So in those areas, we are working with local telecoms on ways to integrate using a SIP connection. In one particular example, the telecom company can send SIP INVITEs but can only address them to a static IP. However, Twilio needs to receive the invite addressed to a fully-qualified domain name (eg, example-setup.sip.twilio.com). The idea arose to use Kamailio as a proxy to accept the static IP-addressed request and then rewrite the request to pass it along to a domain name. Then once the connection is established between the two endpoints, the media can flow directly between them.
I have a software engineering background but still coming up to speed when it comes to VoIP technology. I'd be interested in: - does this sound like a good use case for Kamailio? - is there any specific documentation you could point me to for this use case? (I have been looking at the Kamailio documentation, but a quick pointer could save a lot of time in digging through it) - if anyone from the community would be open to helping us develop a prototype/proof-of-concept instance of this, especially if you're open to contributing to a nonprofit on a volunteer or discounted rate, I'd love to talk more
Thank you, Nick
Hi Nick,
Yes, this is a very good use-case for Kamailio and hits squarely in the centre of its most canonical functionality.
You can easily rewrite the Request URI of an incoming INVITE by writing directly to the $rd “pseudovariable”. $rd represents the domain portion of the Request URI, and it is writable, unlike most variables which point to various parts of the SIP message buffer.
In effect, you would do:
route { …
# Some boilerplate stuff.
…
# Some access control stuff to see if INVITE # is coming from a trusted place.
if(!invite_is_allowed_so_to_speak()) { sl_send_reply(“403”, “Forbidden”); exit; }
if(is_method(“INVITE”)) { # Somehow determine what FQDN to use for # the RURI domain, based on a database # lookup, hard-coded, whatever.
$rd = ‘example-setup.sip.twilio.com http://example-setup.sip.twilio.com/’;
if(!t_relay()) sl_reply_error();
Exit; }
You should be able to modify the stock Kamailio config included with the package to do this fairly easily, and I’m sure folks on the mailing list will be supportive of further questions. :-)
Good luck!
— Alex
Hi Nick,
This type of use case would be perfect for Kamailio. You can use many of the available modules such as dispatcher, drouting, etc to accomplish this (or even just a simple call in the request route).
Kamailio just handles SIP, so unless you use an program such as rtpengine, no media is relayed— it would flow directly from the carrier to twilio.
-- Fred (via mobile) Matrix: @fred:matrix.lod.com
On Jul 21, 2021, at 9:22 PM, Nick Hurlburt nick@techmatters.org wrote:
Hello all,
My name is Nick Hurlburt, and work with a nonprofit tech organization that provides a software platform for child helplines around the world. I am a new user to Kamailio, and I'm interested in figuring out if my use case is appropriate, getting some tips on how to go about it, and possibly enlisting some expert help.
Our service is built on top of Twilio, but we are working in some countries where Twilio doesn't have phone numbers. So in those areas, we are working with local telecoms on ways to integrate using a SIP connection. In one particular example, the telecom company can send SIP INVITEs but can only address them to a static IP. However, Twilio needs to receive the invite addressed to a fully-qualified domain name (eg, example-setup.sip.twilio.com). The idea arose to use Kamailio as a proxy to accept the static IP-addressed request and then rewrite the request to pass it along to a domain name. Then once the connection is established between the two endpoints, the media can flow directly between them.
I have a software engineering background but still coming up to speed when it comes to VoIP technology. I'd be interested in:
- does this sound like a good use case for Kamailio?
- is there any specific documentation you could point me to for this use case? (I have been looking at the Kamailio documentation, but a quick pointer could save a lot of time in digging through it)
- if anyone from the community would be open to helping us develop a prototype/proof-of-concept instance of this, especially if you're open to contributing to a nonprofit on a volunteer or discounted rate, I'd love to talk more
Thank you, Nick
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
In case the local telecom wants to send/receive media to/from specific IPs and this can’t be provided by twilio, you will need to look into rtpengine/rtpproxy in order to relay the media as well.
On Thu, 22 Jul 2021 at 03:46, Fred Posner fred@palner.com wrote:
Hi Nick,
This type of use case would be perfect for Kamailio. You can use many of the available modules such as dispatcher, drouting, etc to accomplish this (or even just a simple call in the request route).
Kamailio just handles SIP, so unless you use an program such as rtpengine, no media is relayed— it would flow directly from the carrier to twilio.
-- Fred (via mobile) Matrix: @fred:matrix.lod.com
On Jul 21, 2021, at 9:22 PM, Nick Hurlburt nick@techmatters.org wrote:
Hello all,
My name is Nick Hurlburt, and work with a nonprofit tech organization that provides a software platform for child helplines around the world. I am a new user to Kamailio, and I'm interested in figuring out if my use case is appropriate, getting some tips on how to go about it, and possibly enlisting some expert help.
Our service is built on top of Twilio, but we are working in some countries where Twilio doesn't have phone numbers. So in those areas, we are working with local telecoms on ways to integrate using a SIP connection. In one particular example, the telecom company can send SIP INVITEs but can only address them to a static IP. However, Twilio needs to receive the invite addressed to a fully-qualified domain name (eg, example-setup.sip.twilio.com). The idea arose to use Kamailio as a proxy to accept the static IP-addressed request and then rewrite the request to pass it along to a domain name. Then once the connection is established between the two endpoints, the media can flow directly between them.
I have a software engineering background but still coming up to speed when it comes to VoIP technology. I'd be interested in:
does this sound like a good use case for Kamailio?
is there any specific documentation you could point me to for this use
case? (I have been looking at the Kamailio documentation, but a quick pointer could save a lot of time in digging through it)
- if anyone from the community would be open to helping us develop a
prototype/proof-of-concept instance of this, especially if you're open to contributing to a nonprofit on a volunteer or discounted rate, I'd love to talk more
Thank you, Nick
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Just wanted to say thanks to Alex, Fred and David for responding. Very helpful. This does sound like a great community. I'm looking forward to diving in more, and may likely have more questions to come!
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of David Villasmil david.villasmil.work@gmail.com Date: Thursday, July 22, 2021 at 1:16 AM To: Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org Subject: Re: [SR-Users] New user checking on SIP proxying use case In case the local telecom wants to send/receive media to/from specific IPs and this can’t be provided by twilio, you will need to look into rtpengine/rtpproxy in order to relay the media as well.
On Thu, 22 Jul 2021 at 03:46, Fred Posner <fred@palner.commailto:fred@palner.com> wrote: Hi Nick,
This type of use case would be perfect for Kamailio. You can use many of the available modules such as dispatcher, drouting, etc to accomplish this (or even just a simple call in the request route).
Kamailio just handles SIP, so unless you use an program such as rtpengine, no media is relayed— it would flow directly from the carrier to twilio.
-- Fred (via mobile)
Matrix: @fred:matrix.lod.comhttp://matrix.lod.com
On Jul 21, 2021, at 9:22 PM, Nick Hurlburt <nick@techmatters.orgmailto:nick@techmatters.org> wrote: Hello all,
My name is Nick Hurlburt, and work with a nonprofit tech organization that provides a software platform for child helplines around the world. I am a new user to Kamailio, and I'm interested in figuring out if my use case is appropriate, getting some tips on how to go about it, and possibly enlisting some expert help.
Our service is built on top of Twilio, but we are working in some countries where Twilio doesn't have phone numbers. So in those areas, we are working with local telecoms on ways to integrate using a SIP connection. In one particular example, the telecom company can send SIP INVITEs but can only address them to a static IP. However, Twilio needs to receive the invite addressed to a fully-qualified domain name (eg, example-setup.sip.twilio.comhttp://example-setup.sip.twilio.com). The idea arose to use Kamailio as a proxy to accept the static IP-addressed request and then rewrite the request to pass it along to a domain name. Then once the connection is established between the two endpoints, the media can flow directly between them.
I have a software engineering background but still coming up to speed when it comes to VoIP technology. I'd be interested in: - does this sound like a good use case for Kamailio? - is there any specific documentation you could point me to for this use case? (I have been looking at the Kamailio documentation, but a quick pointer could save a lot of time in digging through it) - if anyone from the community would be open to helping us develop a prototype/proof-of-concept instance of this, especially if you're open to contributing to a nonprofit on a volunteer or discounted rate, I'd love to talk more
Thank you, Nick
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.orgmailto:sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users -- Regards,
David Villasmil email: david.villasmil.work@gmail.commailto:david.villasmil.work@gmail.com phone: +34669448337