[OpenSIPS-Users] [NEW] Media timeout detection and call termination

Razvan Crainea razvancrainea at opensips.org
Thu Dec 16 19:14:14 CET 2010

Hello all,


I just added to OpenSIPS a new feature that makes possible to deal with 
"ghost" calls in proper and complete way (detection, reporting and 

"Ghost calls" are calls where (due network or hardware issue), one of 
the end-points simply died without hanging up the call - so for all the 
proxies in the middle and for the other end point, the call will still 
look like ongoing. This is a huge problem when dealing with accounting 
and charging of PSTN calls.

As OpenSIPS is a proxy and at signaling level there is no continues 
traffic to help in detecting the ghost calls, such detection must be 
done at media level.

A new feature has been added to the nathelper module, that allows 
OpenSIPS proxy to terminate calls when a media timeout occurs in an 
ongoing call.


The overall solution includes the usage of rtpproxy (as media relay) and 
opensips (signaling part).

RTPProxy is used to detect the media timeouts and to report them back to 
opensips (via the nathelper module). The nathelper module binds to 
dialog module and it will terminate the call (by sending BYEs in both 
directions) when such notification is received. By closing the call at 
signaling level, you will have the opportunity (using the "local" route) 
to do certain script operations when the BYEs are fired (like doing 
accounting, logging, etc).

This new functionality is very useful for various scenarios where having 
a precise call stats is required, like:
     - load balancing based on call load
     - precise accounting (for PSTN termination)
     - dialog profiling (parallel call limitation).....

For more information about usage and configurations, visit 

This new feature is available in trunk and in branch 1.6 (it will be 
part of the future 1.6.4 stable release).


Razvan Crainea

More information about the Users mailing list