[Kamailio-Devel] RFC: Dialog: Feature-Extensions

Jerome Martin jmartin at longphone.fr
Wed Sep 17 10:48:14 CEST 2008


On Wed, 2008-09-17 at 09:58 +0200, Klaus Darilion wrote:
> 
> Jerome Martin schrieb:
> >     . adding a new state to the state_machine, RINGING
> 
> 
> I think if a more detailed state machine is needed, maybe we still 
> should stay with the standard conform state machine but add 
> "sub-states", e.g. RINGING would be a sub-state of the "early" state.

Yes, I was thinking the same yesterday night while looking at it.
Basically the changes would be :
1) add sub states trying and ringing for EARLY
2) move deleted dialog in a dialog_archive table after deleting them
from memory
3) add sub states redirected, failed, cancelled, timed-out, terminated
to DELETED
4) add ability to have one dialog per branch, saving the R-URI,
P-Asserted-Identity, and destination IP used for relay
5) store additional data in the dialog table/structure:
   . for DELETED/redirected, the redirect uri
   . for DELETED/failed, the reply code and reason
     (I am unsure is cancelled is just a specific case of this with 487,
because currently it is the TMCB_DELETED callback that triggers the
event TDEL in the state machine, and I believe this CB is triggered on
CANCEL, before we have a chance to see any 487)
   . for DELETED/terminated, the origin of the BYE (caller/callee/proxy)
and dialog_duration

Of course, the things I want to save here are pretty custom, so I think
a more generic mechanism should be found so that everyone could
customise this to his needs.

Regards,
-- 
Jérôme Martin | LongPhone
Responsable Architecture Réseau
122, rue la Boetie | 75008 Paris
Tel :  +33 (0)1 56 26 28 44
Fax : +33 (0)1 56 26 28 45
Mail : jmartin at longphone.fr
Web : www.longphone.com <http://www.longphone.com>




More information about the Devel mailing list