FreeSwitch state machines for CHANNEL_STATE and CHANNEL_CALLSTATE
Hi, I'm new to FreeSwitch world. I'm looking at using the mod_event_socket interface to write some simple call control app. The Events I'm interested at are CHANNEL_STATE and CHANNEL_CALLSTATE to recognize the status of the calls and how they progress. I have not found any docs describing the state machines for channels and Calls. I look up in the Source code as well and couldn't find the place where the state machine is implemented. Does anybody know where can I find this info? EG, when setting up some call through FS these are the events I am getting with the uuids associated: bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_INIT bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE RINGING bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_ROUTING bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_CONSUME_MEDIA 9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_CALLSTATE ACTIVE bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE EARLY bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE ACTIVE bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_EXECUTE bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_HIBERNATE 9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_HIBERNATE bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_RESET 9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_RESET 9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_SOFT_EXECUTE bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_SOFT_EXECUTE bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_CONSUME_MEDIA bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_EXCHANGE_MEDIA bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE HANGUP bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_HANGUP 9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_PARK bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_REPORTING bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE DOWN bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_DESTROY Thanks in advance. David
The documentation of this state machine is something that I would love to have documented somewhere. Unfortunately, very few people really know how it works and most of them are busy actually coding the core of freeswitch. I wonder if someday someone will accept this challenge and document it, it would help a lot of other not-so-core developers to understand how things work inside FS. Regards, -- João Mesquita Sent with Sparrow (http://www.sparrowmailapp.com/?sig) On Tuesday, February 7, 2012 at 6:05 AM, David Artuñedo Guillén wrote:
Hi,
I’m new to FreeSwitch world. I’m looking at using the mod_event_socket interface to write some simple call control app. The Events I’m interested at are CHANNEL_STATE and CHANNEL_CALLSTATE to recognize the status of the calls and how they progress. I have not found any docs describing the state machines for channels and Calls. I look up in the Source code as well and couldn’t find the place where the state machine is implemented.
Does anybody know where can I find this info?
EG, when setting up some call through FS these are the events I am getting with the uuids associated:
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_INIT
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE RINGING
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_ROUTING
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_CONSUME_MEDIA
9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_CALLSTATE ACTIVE
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE EARLY
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE ACTIVE
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_EXECUTE
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_HIBERNATE
9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_HIBERNATE
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_RESET
9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_RESET
9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_SOFT_EXECUTE
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_SOFT_EXECUTE
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_CONSUME_MEDIA
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_EXCHANGE_MEDIA
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE HANGUP
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_HANGUP
9a66eaf9-e11e-4f9c-9623-19deac73fc2e CHANNEL_STATE CS_PARK
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_REPORTING
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_CALLSTATE DOWN
bbac39e0-9025-4969-a6ba-b49c89b12237 CHANNEL_STATE CS_DESTROY
Thanks in advance.
David
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org (mailto:FreeSWITCH-users@lists.freeswitch.org) http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On 07-02-12 17:47, João Mesquita wrote:
The documentation of this state machine is something that I would love to have documented somewhere. Unfortunately, very few people really know how it works and most of them are busy actually coding the core of freeswitch.
I wonder if someday someone will accept this challenge and document it, it would help a lot of other not-so-core developers to understand how things work inside FS.
Isn't there a description in the The Book? It's been a while since I last read it but I recall something like that. I might be wrong though. Regards, Patrick
Which section? I just opened up the book and I can't really find anything related. Besides, I honestly didn't think it was one of the purposes of the book. Regards, -- João Mesquita Sent with Sparrow (http://www.sparrowmailapp.com/?sig) On Tuesday, February 7, 2012 at 3:13 PM, Patrick Lists wrote:
On 07-02-12 17:47, João Mesquita wrote:
The documentation of this state machine is something that I would love to have documented somewhere. Unfortunately, very few people really know how it works and most of them are busy actually coding the core of freeswitch.
I wonder if someday someone will accept this challenge and document it, it would help a lot of other not-so-core developers to understand how things work inside FS.
Isn't there a description in the The Book? It's been a while since I last read it but I recall something like that. I might be wrong though.
Regards, Patrick
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org (mailto:consulting@freeswitch.org) http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org (mailto:FreeSWITCH-users@lists.freeswitch.org) http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (3)
-
David Artuñedo Guillén
-
João Mesquita
-
Patrick Lists