Hi mailing,
Newbie to kamailio, I follow this tuto http://nil.uniza.sk/sip/kamailio/adding-mysql-support-kamailio-31-debian-len... for the registration SIP via mysql database and it works fine, but I saw that when during the call we disconnect the called UAC from network or turn the power off the caller UAC don't hangup. Is there any tool for how to hangup call when the UAC on the other side has no network connection or it isn't power on durring a call ? I heard for mediaroxy or rtpproxy but I don't know if them can do what I except to haveand we also use ip routing to make kamailio server to communicate with the UAC so we don't use NAT.
Our topology is: kamailio (with public IP address) ---> cisco switch ---> LAN ---> UAC (with private IP address)
Thanks in advance.
i guess it should time out...the other end...since it has no way of knowing that the other end is no more present...
Regards,
Vineet Menon
On 20 March 2012 11:30, Rabary teddy@gulfsat.mg wrote:
Hi mailing,
Newbie to kamailio, I follow this tuto http://nil.uniza.sk/sip/** kamailio/adding-mysql-support-**kamailio-31-debian-lennyhttp://nil.uniza.sk/sip/kamailio/adding-mysql-support-kamailio-31-debian-lennyfor the registration SIP via mysql database and it works fine, but I saw that when during the call we disconnect the called UAC from network or turn the power off the caller UAC don't hangup. Is there any tool for how to hangup call when the UAC on the other side has no network connection or it isn't power on durring a call ? I heard for mediaroxy or rtpproxy but I don't know if them can do what I except to haveand we also use ip routing to make kamailio server to communicate with the UAC so we don't use NAT.
Our topology is: kamailio (with public IP address) ---> cisco switch ---> LAN ---> UAC (with private IP address)
Thanks in advance.
-- Inutile d'imprimer ce mail
______________________________**_________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**usershttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi,
Yes that is the behaviour when the media isn't flowing through a regulatory tool (in-terms it sees the media and know call is actually going on rtpproxy/media-proxy) but in the absence of any such tool SIP server is not aware that the call-media is still in progress or is dead ! so it always assume that the call is active and hence the BYE signals are never originated from server end to shutdown the call.
I am definitely not an expert but I am guessing that dialogue module do some keepalive tests for an ongoing session and not sure what it do if either end fails to respond !!
Regards, Sammy
On Tue, Mar 20, 2012 at 11:04 AM, Vineet Menon mvineetmenon@gmail.comwrote:
i guess it should time out...the other end...since it has no way of knowing that the other end is no more present...
Regards,
Vineet Menon
On 20 March 2012 11:30, Rabary teddy@gulfsat.mg wrote:
Hi mailing,
Newbie to kamailio, I follow this tuto http://nil.uniza.sk/sip/** kamailio/adding-mysql-support-**kamailio-31-debian-lennyhttp://nil.uniza.sk/sip/kamailio/adding-mysql-support-kamailio-31-debian-lennyfor the registration SIP via mysql database and it works fine, but I saw that when during the call we disconnect the called UAC from network or turn the power off the caller UAC don't hangup. Is there any tool for how to hangup call when the UAC on the other side has no network connection or it isn't power on durring a call ? I heard for mediaroxy or rtpproxy but I don't know if them can do what I except to haveand we also use ip routing to make kamailio server to communicate with the UAC so we don't use NAT.
Our topology is: kamailio (with public IP address) ---> cisco switch ---> LAN ---> UAC (with private IP address)
Thanks in advance.
-- Inutile d'imprimer ce mail
______________________________**_________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**usershttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello,
In SIP, session timers can be used to periodically ping the UAC (using a re-INVITE or UPDATE) to know if it's alive or not. Then action can be taken - terminating the call.
Kamailio has the SST (SIP Session Timer) module which only enforces a minimum session timer value for UACs, but not a maximum one. It doesn't ping the UACs neither. This is fine because the RFC stops here. A nice improvement to Kamailio would be to augment the SST module with a feature which enforces a maximum session timer value and pings UACs. Another suggestion would be to rely on nathelper's keepalive results to take a decision after a keepalive times out, but then we'd have to terminate all dialogs in which the UAC that is not responding is present, since nathelper's keepalive are out-of-dialog. No very neat, but functional.
And I don't think the dialog module can do anything about this problem.
I know that what I am suggesting may not be defined in RFCs, and so are some features of SIP servers, but in my opinion should be implemented as it adds a great value to Kamailio.
We cannot rely on RTP timeout since a UAC may use a silence-detection codec and be silent for some time, or may put a call on hold for a while, not sending RTP packets in both cases. This is why RTP timeout detection is not reliable. Anyway, mediaproxy timeouts ONLY AND ONLY in the case it doesn't receive RTP packets from BOTH UACs, not only one, for the reasons mentioned. I don't know about rtppoxy, maybe others can tell more about it.
One solution if you really need to solve your problem would be to put a B2BUA in the SIP path, such as Asterisk or FreeSwitch. They enforce a maximum session timer which UACs can use to ping themselves every now and then, and Asterisk can even ping the UACs and terminate the call if one of them doesn't respond. The downside: lower performance and higher cost. Asterisk is very heavy and Kamailio can handle many, many more calls, so you'll have to load balance to several Asterisk servers if you have a single Kamailio machine handling thousands of simultaneous calls.
Kamailio developers out there, what about boosting the SST module with new features? Or creating an SSTX module?
Reda
On Tue, Mar 20, 2012 at 07:35, SamyGo govoiper@gmail.com wrote:
Hi,
Yes that is the behaviour when the media isn't flowing through a regulatory tool (in-terms it sees the media and know call is actually going on rtpproxy/media-proxy) but in the absence of any such tool SIP server is not aware that the call-media is still in progress or is dead ! so it always assume that the call is active and hence the BYE signals are never originated from server end to shutdown the call.
I am definitely not an expert but I am guessing that dialogue module do some keepalive tests for an ongoing session and not sure what it do if either end fails to respond !!
Regards, Sammy
On Tue, Mar 20, 2012 at 11:04 AM, Vineet Menon mvineetmenon@gmail.comwrote:
i guess it should time out...the other end...since it has no way of knowing that the other end is no more present...
Regards,
Vineet Menon
On 20 March 2012 11:30, Rabary teddy@gulfsat.mg wrote:
Hi mailing,
Newbie to kamailio, I follow this tuto http://nil.uniza.sk/sip/** kamailio/adding-mysql-support-**kamailio-31-debian-lennyhttp://nil.uniza.sk/sip/kamailio/adding-mysql-support-kamailio-31-debian-lennyfor the registration SIP via mysql database and it works fine, but I saw that when during the call we disconnect the called UAC from network or turn the power off the caller UAC don't hangup. Is there any tool for how to hangup call when the UAC on the other side has no network connection or it isn't power on durring a call ? I heard for mediaroxy or rtpproxy but I don't know if them can do what I except to haveand we also use ip routing to make kamailio server to communicate with the UAC so we don't use NAT.
Our topology is: kamailio (with public IP address) ---> cisco switch ---> LAN ---> UAC (with private IP address)
Thanks in advance.
-- Inutile d'imprimer ce mail
______________________________**_________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**usershttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Reda Aouad writes:
One solution if you really need to solve your problem would be to put a B2BUA in the SIP path, such as Asterisk or FreeSwitch. They enforce a maximum session timer which UACs can use to ping themselves every now and then, and Asterisk can even ping the UACs and terminate the call if one of them doesn't respond. The downside: lower performance and higher cost. Asterisk is very heavy and Kamailio can handle many, many more calls, so you'll have to load balance to several Asterisk servers if you have a single Kamailio machine handling thousands of simultaneous calls.
one possibility is to route signaling of such calls via sems sbc and let media flow direct. sems sbc can do sst pinging and can enforce min and max timer values. the only problem is that session timer implementation in sems master version is currently broken, but most likely will be fixed soon.
-- juha
Thanks Juha for the idea.
But servers cost money to buy, host, and maintain. This is why I would really love to see such functionality in Kamailio.
May I suggest that for the next release ?
Reda
On Tue, Mar 20, 2012 at 10:12, Juha Heinanen jh@tutpro.com wrote:
Reda Aouad writes:
One solution if you really need to solve your problem would be to put a B2BUA in the SIP path, such as Asterisk or FreeSwitch. They enforce a maximum session timer which UACs can use to ping themselves every now and then, and Asterisk can even ping the UACs and terminate the call if one
of
them doesn't respond. The downside: lower performance and higher cost. Asterisk is very heavy and Kamailio can handle many, many more calls, so you'll have to load balance to several Asterisk servers if you have a single Kamailio machine handling thousands of simultaneous calls.
one possibility is to route signaling of such calls via sems sbc and let media flow direct. sems sbc can do sst pinging and can enforce min and max timer values. the only problem is that session timer implementation in sems master version is currently broken, but most likely will be fixed soon.
-- juha
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Reda Aouad writes:
But servers cost money to buy, host, and maintain. This is why I would really love to see such functionality in Kamailio.
fine with kamailio if you don't have any media based services (voicemail, announcements, conferencing, etc.), where you would need something like sems anyhow.
-- juha
One reason I didn't use sems is that it doesn't support G729 as a media server. Did it change?
Reda
On 20 mars 2012, at 10:36, Juha Heinanen jh@tutpro.com wrote:
Reda Aouad writes:
But servers cost money to buy, host, and maintain. This is why I would really love to see such functionality in Kamailio.
fine with kamailio if you don't have any media based services (voicemail, announcements, conferencing, etc.), where you would need something like sems anyhow.
-- juha
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Not also that the recommend session timer value that UACs generally use by default is 1800 seconds, or 30 minutes. Just in case you may accept it. To me, it's not acceptable when customers are billed.
However, the risk is not so big. If one of the UACs is suddenly disconnected, the other party will most likely hang up, the dialog is terminated and finally we loose only a few seconds of billing.
Reda
On Tue, Mar 20, 2012 at 10:02, Reda Aouad reda.aouad@gmail.com wrote:
Hello,
In SIP, session timers can be used to periodically ping the UAC (using a re-INVITE or UPDATE) to know if it's alive or not. Then action can be taken
- terminating the call.
Kamailio has the SST (SIP Session Timer) module which only enforces a minimum session timer value for UACs, but not a maximum one. It doesn't ping the UACs neither. This is fine because the RFC stops here. A nice improvement to Kamailio would be to augment the SST module with a feature which enforces a maximum session timer value and pings UACs. Another suggestion would be to rely on nathelper's keepalive results to take a decision after a keepalive times out, but then we'd have to terminate all dialogs in which the UAC that is not responding is present, since nathelper's keepalive are out-of-dialog. No very neat, but functional.
And I don't think the dialog module can do anything about this problem.
I know that what I am suggesting may not be defined in RFCs, and so are some features of SIP servers, but in my opinion should be implemented as it adds a great value to Kamailio.
We cannot rely on RTP timeout since a UAC may use a silence-detection codec and be silent for some time, or may put a call on hold for a while, not sending RTP packets in both cases. This is why RTP timeout detection is not reliable. Anyway, mediaproxy timeouts ONLY AND ONLY in the case it doesn't receive RTP packets from BOTH UACs, not only one, for the reasons mentioned. I don't know about rtppoxy, maybe others can tell more about it.
One solution if you really need to solve your problem would be to put a B2BUA in the SIP path, such as Asterisk or FreeSwitch. They enforce a maximum session timer which UACs can use to ping themselves every now and then, and Asterisk can even ping the UACs and terminate the call if one of them doesn't respond. The downside: lower performance and higher cost. Asterisk is very heavy and Kamailio can handle many, many more calls, so you'll have to load balance to several Asterisk servers if you have a single Kamailio machine handling thousands of simultaneous calls.
Kamailio developers out there, what about boosting the SST module with new features? Or creating an SSTX module?
Reda
On Tue, Mar 20, 2012 at 07:35, SamyGo govoiper@gmail.com wrote:
Hi,
Yes that is the behaviour when the media isn't flowing through a regulatory tool (in-terms it sees the media and know call is actually going on rtpproxy/media-proxy) but in the absence of any such tool SIP server is not aware that the call-media is still in progress or is dead ! so it always assume that the call is active and hence the BYE signals are never originated from server end to shutdown the call.
I am definitely not an expert but I am guessing that dialogue module do some keepalive tests for an ongoing session and not sure what it do if either end fails to respond !!
Regards, Sammy
On Tue, Mar 20, 2012 at 11:04 AM, Vineet Menon mvineetmenon@gmail.comwrote:
i guess it should time out...the other end...since it has no way of knowing that the other end is no more present...
Regards,
Vineet Menon
On 20 March 2012 11:30, Rabary teddy@gulfsat.mg wrote:
Hi mailing,
Newbie to kamailio, I follow this tuto http://nil.uniza.sk/sip/** kamailio/adding-mysql-support-**kamailio-31-debian-lennyhttp://nil.uniza.sk/sip/kamailio/adding-mysql-support-kamailio-31-debian-lennyfor the registration SIP via mysql database and it works fine, but I saw that when during the call we disconnect the called UAC from network or turn the power off the caller UAC don't hangup. Is there any tool for how to hangup call when the UAC on the other side has no network connection or it isn't power on durring a call ? I heard for mediaroxy or rtpproxy but I don't know if them can do what I except to haveand we also use ip routing to make kamailio server to communicate with the UAC so we don't use NAT.
Our topology is: kamailio (with public IP address) ---> cisco switch ---> LAN ---> UAC (with private IP address)
Thanks in advance.
-- Inutile d'imprimer ce mail
______________________________**_________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**usershttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Thank you all for the answers. Finally, there is not a very big problem if one side is disconnected because the other side will end dialog when phone will be hang up
have a good day :)