As of late, there has been a number of issues reported in CDR dealing
with calls being "stuck" in the Active Calls list.  There are a few
reasons for these (i.e. Network issues resulting in lost SIP messages,
SIP Registrar being down, ....) and as a result, I'd like to propose a
couple of changes in CDR to handle these scenarios and reduce the number
of "stuck" call scenarios.

Enhancement 1:  Redefining the meaning of Active Call
        An Active Call today as defined in CDR and shown in the Admin
Active Call page is any call in the system for which an INVITE has been
sent and no BYE or Failure has occured.  I'd like to modify this
definition to be only those calls which are Established (i.e. 200 OK
--> Answered).  Essentially this removes those calls for which no dialog
has been formed.

Enhancement 2: Trapping calls which are ringing too long
        If the Call Resolver misses SIP messages for whatever reason
(network issue, Proxy generated outgoing failure messages) a call can
become "stuck" in CDR as it has not seen any new events on the call
since the original request. I'd like to put some sort of timeout value
on this "ringing" state such that if I don't see a new call state event
(while in Ringing/Request) within a period of time (say 2 minutes), CDR
would inject a failure (say Request Timeout) and move the call to the
potentially failed queue to eventually be written to the database as a
failed call.


These 2 enhancements will not completely eliminate all "stuck" calls but
it will greatly reduce the number as well as provide a more accurate
records of call activity on the system.

Comments?   
            
_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to