Re: [SR-Users] Call in Progress Recovery in Redundancy
Hello, On 06.08.20 16:26, amitsha...@coraltele.com wrote: > > Hello Daniel, > > > > Thank a lot for such an elaborative reply, it will really help in many > ways. It is clear that in case of big system the Progress call > transition may not be possible. > > > > I want to know two more things : > > > > 1. Can we built Re-Homing around Kamailio (Move call from Kamailio to > Freeswitch). Is there any possibility of doing it. > Both applications are open source and you can develop extensions in both of them to share call data and maybe you will get what you want. But from the SIP specification, there is no mechanism to migrate a server from a proxy (like Kamailio) to an endpoint/b2bua like FreeSwitch. Therefore at this moment is no option to do that. As I mentioned, another kamailio can route just fine requests belonging to a call initiated via another Kamailio. FreeSwitch (or other B2BUA/endpoint) can do re-INVITE and recover the call after a crash and restart on the same system or on another system, but that because it was part of the call and it is allowed to change its contact/IP address > > 1. How can capture sip-info from Kamailio to Freeswitch. Means DTMP > pressed. > I do not understand this one, maybe you can elaborate more. Cheers, Daniel > 1. > > > > Thanks in advance. > > > > Amit Sharma > > > > *From:* Daniel-Constantin Mierla > *Sent:* Wednesday, August 5, 2020 6:33 PM > *To:* Kamailio (SER) - Users Mailing List > ; amitsha...@coraltele.com > *Subject:* Re: [SR-Users] Call in Progress Recovery in Redundancy > > > > Hello, > > first we need to clarify that it seems you are actually not looking > for redundancy of active transactions, which I tried to focus on the > answer during the ClueCon session last evening. > > My answer there related to htable was about the ability to route > CANCEL requests where the INVITE was forwarded. > > Like Julien replied on another email, SIP has couple of mechanism to > "recover" or "go through" in case of transaction states being lost. > For example, with UDP if the proxy is restarted after receiving the > INVITE and not sending any reply, then there is a retranmission of the > INVITE for couple of times (can be up to 30seconds or more, depending > on UA settings). So the INVITE comes again to the proxy, which can > handle it (assuming a fast enough restart). Then, if the INVITE was > forwarded, the responses to it can be routed without any problem, > using the Via headers. > > Considering that the SIP transaction is about keeping the states of > routing the request until a final response is sent out, one of the > main benefits is the ability to re-route the request to a new address > if the first selected destination doesn't answer (aka, serial > forking). But if you have one-to-one routing policy (like receiving > from the phone and sending to a freeswitch), then you can also do > stateless forwarding. In such case, if you migrate the ip to another > Kamailio node, it can route the replies even when the request was > routed by previous active node. > > As far as I can remember from some demos at past cluecon events, the > FreeSwitch call recovery was based on re-INVITEs, which means the call > has to be established to know where to send the re-INVITE, be aware of > caller/callee contact addresses, codecs, routing headers, ... > Recovering a progress call from a B2BUA like FreeSwitch can be as > difficult as for a proxy, if you want to cover over possible scenarios > related to serial and parallel forking, branches added on the fly when > a new registration comes in, different retransmission timers per > branches, storage of most relevant replies for branches, etc ... just > to enumerate from the impact on the SIP specification, but each > application has a lot of event callbacks, structures and parameters > associated with a transaction (e.g., for accounting, message logging, > ...), ... so the eco-system around a SIP transaction is very fluid, > shifting to another node could be impossible. > > For example, consider that first retransmission has to be done in > 500ms, followed by 1sec, 2sec, 4sec -- in a case of a shared IP > active-standby system, detection that node is done typically takes a > few seconds itself, so retransmission steps can be lost for sure. > > Kamailio itself is not a B2BUA so it cannot re-INVITE inside a call, > but many Kamailio systems can route SIP requests/replies from the same > call (e.g., INVITE routed by Kamailio A and the BYE by Kamailio B), it > is a matter of what you set in Record-Route headers, or do anycast > routing to a cluster of Kamailio nodes. When you hear about getting > out of the call, is about RTP (audio/video) streams, because from > signaling point of view, a B2BUA is an endpoint in each of the two > legs of the calls, it can do re-INVITE to move RTP streams to be > end-to-end, but it has to stay in the signaling path. An endpoint can > get out of the call via a transfer to another
Re: [SR-Users] Info: 2 Kamailio presentations soon live at ClueCon - 1:30pm CST (20:30 Berlin)
Some updates on how the event is organized: the sessions can be watched lived only on youtube (link to be provided also at https://cluecon.cantina.video/#/home under the Broadcast room or just got to FreeSwitch youtube channel) and for questions and live interaction with the speaker you have to join the BroadcastCafe video conference room (also listed at https://cluecon.cantina.video/#/home) after each presentation ends. Cheers, Daniel On 06.08.20 18:52, Daniel-Constantin Mierla wrote: > Hello, > > quick info for those that want to watch the 2 presentations about > Kamailio at ClueCon Deconstructed, starting in about 1 hour 40 minutes > from now (or 13:30CST, 20:30Berlin/Paris/Madrid/...). One will be done > by me and the 2nd by Fred Posner. A few more details are available at: > > - https://www.kamailio.org/w/2020/07/cluecon-deconstructed-2020/ > > The sessions should be live streamed on youtube - should appear in the > freeswitch channel there at the time of start: > > - https://www.youtube.com/c/FreeSWITCH/ > > Of you can join the video conference room for a more interactive > participation -- broadcast room listed at: > > - https://cluecon.cantina.video/#/home > > Cheers, > Daniel > > -- > Daniel-Constantin Mierla -- www.asipto.com > www.twitter.com/miconda -- www.linkedin.com/in/miconda > Funding: https://www.paypal.me/dcmierla > -- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda Funding: https://www.paypal.me/dcmierla ___ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] Info: 2 Kamailio presentations soon live at ClueCon - 1:30pm CST (20:30 Berlin)
Thank you :) On Thu, Aug 6, 2020, 12:53 PM Daniel-Constantin Mierla wrote: > Hello, > > quick info for those that want to watch the 2 presentations about > Kamailio at ClueCon Deconstructed, starting in about 1 hour 40 minutes > from now (or 13:30CST, 20:30Berlin/Paris/Madrid/...). One will be done > by me and the 2nd by Fred Posner. A few more details are available at: > >- https://www.kamailio.org/w/2020/07/cluecon-deconstructed-2020/ > > The sessions should be live streamed on youtube - should appear in the > freeswitch channel there at the time of start: > > - https://www.youtube.com/c/FreeSWITCH/ > > Of you can join the video conference room for a more interactive > participation -- broadcast room listed at: > > - https://cluecon.cantina.video/#/home > > Cheers, > Daniel > > -- > Daniel-Constantin Mierla -- www.asipto.com > www.twitter.com/miconda -- www.linkedin.com/in/miconda > Funding: https://www.paypal.me/dcmierla > > > ___ > 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
[SR-Users] Info: 2 Kamailio presentations soon live at ClueCon - 1:30pm CST (20:30 Berlin)
Hello, quick info for those that want to watch the 2 presentations about Kamailio at ClueCon Deconstructed, starting in about 1 hour 40 minutes from now (or 13:30CST, 20:30Berlin/Paris/Madrid/...). One will be done by me and the 2nd by Fred Posner. A few more details are available at: - https://www.kamailio.org/w/2020/07/cluecon-deconstructed-2020/ The sessions should be live streamed on youtube - should appear in the freeswitch channel there at the time of start: - https://www.youtube.com/c/FreeSWITCH/ Of you can join the video conference room for a more interactive participation -- broadcast room listed at: - https://cluecon.cantina.video/#/home Cheers, Daniel -- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda Funding: https://www.paypal.me/dcmierla ___ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] Audio on Calls Stopping After 15 Minutes
900 seconds is the most common call session renegotiation period, that's when a re-INVITE is sent from one party to the other, which similar to the original INVITE has SDP information in it. If there's something wrong with the re-INVITE, the call may go silent one/both ways either drop, it depends. General recommendation would be to check SIP traffic at the 15 min mark and analyze the re-INVITE, see if there's anything wrong with it. Cheers, On Thu, Aug 6, 2020 at 2:06 AM ad...@conradit.com wrote: > All, hi: > > > > I’m a Kamailio newbie! > > > > I’ve managed to set up a proxy server with the minimal configuration file > found here: > https://github.com/kamailio/kamailio/blob/master/misc/examples/mixed/kamailio-minimal-proxy.cfg > . > > > > The issue that I’m having is that the audio on calls simply stop precisely > after 15 minutes. It’s always precisely at 15 minutes. The calls continue > connected but without any audio. > > > > A summary about my set up: > > > > 1.This is an Amazon AWS EC2 server so it doesn’t have a public IP > directly attached to the interface. This makes me believe that the issue > might be related to NAT. > > 2.I use Flowroute as the SIP trunk for these tests. > > 3.My phone system, for testing purposes, works on UDP port 6060 an > the RTP ports are 20,000 to 30,000. > > 4.I am not using, for the time being, TLS nor SRTP. > > 5.My phone system is inside the same subnet as the Kamailio server. > > > > Questions: > > > > 1)Am I missing the NATHELPER module and if so how could we combine it > to the minimal proxy configuration described above? Assuming that my > Kamailio server uses local IP 10.80.10.5 and the PBX 10.80.10.6, both on > UDP port 6060 for SIP. > > 2)May I simply combine the example file for nathelper.cfg as per this > URL: > https://github.com/kamailio/kamailio/blob/master/misc/examples/mixed/nathelper.cfg > to the proxy example files, change IP addresses, ports, etc.? If not, how > would one go about adding the NATHELPER module to the minimal proxy > configuration? > > 3)Could it be some other issue that is causing the 15-minute > interruption on audio? > > > > Thank you so much for your help! > ___ > 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
Re: [SR-Users] Call in Progress Recovery in Redundancy
Hello Daniel, Thank a lot for such an elaborative reply, it will really help in many ways. It is clear that in case of big system the Progress call transition may not be possible. I want to know two more things : 1. Can we built Re-Homing around Kamailio (Move call from Kamailio to Freeswitch). Is there any possibility of doing it. 2. How can capture sip-info from Kamailio to Freeswitch. Means DTMP pressed. Thanks in advance. Amit Sharma From: Daniel-Constantin Mierla Sent: Wednesday, August 5, 2020 6:33 PM To: Kamailio (SER) - Users Mailing List ; amitsha...@coraltele.com Subject: Re: [SR-Users] Call in Progress Recovery in Redundancy Hello, first we need to clarify that it seems you are actually not looking for redundancy of active transactions, which I tried to focus on the answer during the ClueCon session last evening. My answer there related to htable was about the ability to route CANCEL requests where the INVITE was forwarded. Like Julien replied on another email, SIP has couple of mechanism to "recover" or "go through" in case of transaction states being lost. For example, with UDP if the proxy is restarted after receiving the INVITE and not sending any reply, then there is a retranmission of the INVITE for couple of times (can be up to 30seconds or more, depending on UA settings). So the INVITE comes again to the proxy, which can handle it (assuming a fast enough restart). Then, if the INVITE was forwarded, the responses to it can be routed without any problem, using the Via headers. Considering that the SIP transaction is about keeping the states of routing the request until a final response is sent out, one of the main benefits is the ability to re-route the request to a new address if the first selected destination doesn't answer (aka, serial forking). But if you have one-to-one routing policy (like receiving from the phone and sending to a freeswitch), then you can also do stateless forwarding. In such case, if you migrate the ip to another Kamailio node, it can route the replies even when the request was routed by previous active node. As far as I can remember from some demos at past cluecon events, the FreeSwitch call recovery was based on re-INVITEs, which means the call has to be established to know where to send the re-INVITE, be aware of caller/callee contact addresses, codecs, routing headers, ... Recovering a progress call from a B2BUA like FreeSwitch can be as difficult as for a proxy, if you want to cover over possible scenarios related to serial and parallel forking, branches added on the fly when a new registration comes in, different retransmission timers per branches, storage of most relevant replies for branches, etc ... just to enumerate from the impact on the SIP specification, but each application has a lot of event callbacks, structures and parameters associated with a transaction (e.g., for accounting, message logging, ...), ... so the eco-system around a SIP transaction is very fluid, shifting to another node could be impossible. For example, consider that first retransmission has to be done in 500ms, followed by 1sec, 2sec, 4sec -- in a case of a shared IP active-standby system, detection that node is done typically takes a few seconds itself, so retransmission steps can be lost for sure. Kamailio itself is not a B2BUA so it cannot re-INVITE inside a call, but many Kamailio systems can route SIP requests/replies from the same call (e.g., INVITE routed by Kamailio A and the BYE by Kamailio B), it is a matter of what you set in Record-Route headers, or do anycast routing to a cluster of Kamailio nodes. When you hear about getting out of the call, is about RTP (audio/video) streams, because from signaling point of view, a B2BUA is an endpoint in each of the two legs of the calls, it can do re-INVITE to move RTP streams to be end-to-end, but it has to stay in the signaling path. An endpoint can get out of the call via a transfer to another endpoint, but then it cannot transfer the call back to it. Also, let's say the call is completed without going to freeswitch with the initial INVITE, afterward you cannot hand it over to Freeswitch. But you can route initial INVITE to Kamailio, do not do record-routing, and send it to freeswitch. By not doing record-routing, requests within dialog (re-INVITE, BYE, etc..) and not coming to Kamailio, they go directly to FreeSwitch. But you have to be careful with natted devices, typically they can get messages back only from the box where they sent the initial INVITE. The discussion can be long here, as I tried to say, if you have the very simple scenario of one-to-one routing rule, then even going (sip-transaction-)stateless can work, but to cover all cases with parallel/serial forking and multiple active branches at different stages of processing is not working. My feeling is that you were thinking from your experience with freeswitch/b2bua systems, where when you restart the b2bua in a
Re: [SR-Users] Deletion of Prometheus metrics
Hello Marat, answer inside text: On 8/6/20 1:17 PM, Marat Gareev wrote: Hello, I have confuse about this timeout: https://www.kamailio.org/docs/modules/devel/modules/xhttp_prom.html#xhttp_prom.p.xhttp_prom_timeout Is there reason for forced deletion of unused metrics? Only reason is to save memory. Let's imagine a situation: Zabbix reads metrics at a certain interval, unused metrics are deleted if they are not used for a period of time (xhttp_prom_timeout). I drew 2 cases when Zabbix will receive the same value, but we cannot say unambiguously whether these are new values or not. xhttp_prom_timeout.jpg I could think of a mechanism to disable timeout, but right now it is not possible. Default timeout is 60 minutes. What you show in the example is a metric that is deleted before it stopped being used. That does not make sense. Because timeout is customizable you should increase its value to something that suits you (large enough). Only constraint is memory available to store metrics. If you set enough memory for the number of metrics you expect to use, no problem. Regards, Vicente. Regards, Marat ___ 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
Re: [SR-Users] Deletion of Prometheus metrics
Hello Marat, answer inside text: On 8/6/20 1:17 PM, Marat Gareev wrote: Hello, I have confuse about this timeout: https://www.kamailio.org/docs/modules/devel/modules/xhttp_prom.html#xhttp_prom.p.xhttp_prom_timeout Is there reason for forced deletion of unused metrics? Only reason is to save memory. Let's imagine a situation: Zabbix reads metrics at a certain interval, unused metrics are deleted if they are not used for a period of time (xhttp_prom_timeout). I drew 2 cases when Zabbix will receive the same value, but we cannot say unambiguously whether these are new values or not. xhttp_prom_timeout.jpg I could think of a mechanism to disable timeout, but right now it is not possible. Default timeout is 60 minutes. What you show in the example is a metric that is deleted before it stopped being used. That does not make sense. Because timeout is customizable you should increase its value to something that suits you (large enough). Only constraint is memory available to store metrics. If you set enough memory for the number of metrics you expect to use, no problem. Regards, Vicente. Regards, Marat ___ 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
[SR-Users] Using wildcard certificates for Kamailio server
Hello, Is it permitted to use the wildcard TLS certificates for Kamailio server? In reality, it works (tested with v.5.4) but the RFC-5922 disables the wildcard certificates usage: "Implementations MUST match the values in their entirety: Implementations MUST NOT match suffixes. For example, "foo.example.com" does not match "example.com". Implementations MUST NOT match any form of wildcard, such as a leading "." or "*." with any other DNS label or sequence of labels. For example, "*.example.com" matches only "*.example.com" but not "foo.example.com". Similarly, ".example.com" matches only ".example.com", and does not match "foo.example.com". (Ref.:https://tools.ietf.org/html/rfc5922#section-7.2) To be honest, I don't understand why this restriction is good for... Is somebody aware of a newer RFC that removes this limitation? Best regards, Leonid Fainshtein ___ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
[SR-Users] Deletion of Prometheus metrics
Hello, I have confuse about this timeout: https://www.kamailio.org/docs/modules/devel/modules/xhttp_prom.html#xhttp_prom.p.xhttp_prom_timeout Is there reason for forced deletion of unused metrics? Let's imagine a situation: Zabbix reads metrics at a certain interval, unused metrics are deleted if they are not used for a period of time (xhttp_prom_timeout). I drew 2 cases when Zabbix will receive the same value, but we cannot say unambiguously whether these are new values or not. [image: xhttp_prom_timeout.jpg] Regards, Marat ___ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] Use-case does Kamailio support PBX - webrtc (web sockets)
Hi Johnny, an example Integration could be something like havfo did. Helps a bit to understand the moving parts of Kamailio (sip and websockets, control of rtpengine) and webrtc stuff around it (stun, turn server for clients that didn't allowed udp for example). It will not cover 100% what you need, but you get an idea. https://github.com/havfo/WEBRTC-to-SIP Cheers Karsten Johnny Ritzer schrieb am Do., 6. Aug. 2020, 08:08: > We have a PBX that doesn’t support websockets . > > > > But we want a PWA webaapp ctxSIP that uses sip.js to work . > > > > Due to its not SIP generic do we setup like this > > > > PBX ßà Kamailio ßàwebapp > > > > Im looking for developers for android build via react native or ionic > framework but not sure what solution/archtectiure > > > > Question. Does Kamailio register the SIP user/pass on the Kamailio server > meaning it keeps it registered. And thus the ctxSIP client app just handles > the pass thru for that connection. > > > > What about RTP do I need a separate handler for that. > > > > Tha nks > ___ > 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
[SR-Users] Use-case does Kamailio support PBX - webrtc (web sockets)
We have a PBX that doesn’t support websockets . But we want a PWA webaapp ctxSIP that uses sip.js to work . Due to its not SIP generic do we setup like this PBX <> Kamailio <>webapp Im looking for developers for android build via react native or ionic framework but not sure what solution/archtectiure Question. Does Kamailio register the SIP user/pass on the Kamailio server meaning it keeps it registered. And thus the ctxSIP client app just handles the pass thru for that connection. What about RTP do I need a separate handler for that. Tha nks ___ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
[SR-Users] Audio on Calls Stopping After 15 Minutes
All, hi: I'm a Kamailio newbie! I've managed to set up a proxy server with the minimal configuration file found here: https://github.com/kamailio/kamailio/blob/master/misc/examples/mixed/kamailio-minimal-proxy.cfg. The issue that I'm having is that the audio on calls simply stop precisely after 15 minutes. It's always precisely at 15 minutes. The calls continue connected but without any audio. A summary about my set up: 1.This is an Amazon AWS EC2 server so it doesn't have a public IP directly attached to the interface. This makes me believe that the issue might be related to NAT. 2.I use Flowroute as the SIP trunk for these tests. 3.My phone system, for testing purposes, works on UDP port 6060 an the RTP ports are 20,000 to 30,000. 4.I am not using, for the time being, TLS nor SRTP. 5.My phone system is inside the same subnet as the Kamailio server. Questions: 1)Am I missing the NATHELPER module and if so how could we combine it to the minimal proxy configuration described above? Assuming that my Kamailio server uses local IP 10.80.10.5 and the PBX 10.80.10.6, both on UDP port 6060 for SIP. 2)May I simply combine the example file for nathelper.cfg as per this URL: https://github.com/kamailio/kamailio/blob/master/misc/examples/mixed/nathelper.cfg to the proxy example files, change IP addresses, ports, etc.? If not, how would one go about adding the NATHELPER module to the minimal proxy configuration? 3)Could it be some other issue that is causing the 15-minute interruption on audio? Thank you so much for your help! ___ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users