mod_event_erlang and invalid process type
Hi all, trying to learn erlang i tried to connect to freeswitch using mod_event_erlang and receive some events: erlang shell: [root@fstest ~]# erl -name test33@freeswitch.besharp.at -setcookie ClueCon Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) (test33@freeswitch.besharp.at)1> Pid = fsevents:start(). <0.46.0> (test33@freeswitch.besharp.at)2> fsevents:init('freeswitch@freeswitch.besharp.at'). {event,'ALL'} (test33@freeswitch.besharp.at)3> Console output: 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:301 ALL events enabled 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:314 enable event ALL 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.500492 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) Can anyone tell me what i'm doing wrong ? Console log keeps saying invalid process type (until i kill the erlang process) and i dont receive any events. Erlang Version: 5.9.3.1 Freeswitch: latest HEAD from 2012-12-31 The fsevents module: -module(fsevents). -export([start/0, init/1, loop/0]). start() -> Pid = spawn(?MODULE, loop, []), register(?MODULE,Pid), Pid. init(Node) -> {foo, Node} ! {event, 'ALL'}. loop() -> receive stop -> ok; _Anything -> io:format("received ~p~n", [_Anything]), loop() end. The communication seems to work basically: (test33@freeswitch.besharp.at)4> {foo, freeswitch@freeswitch.besharp.at} ! {api, status, ""}. {api,status,[]} (test33@freeswitch.besharp.at)5> receive Y -> Y after 1000 -> timeout end. {ok,"UP 0 years, 0 days, 1 hour, 20 minutes, 52 seconds, 534 milliseconds, 225 microseconds\nFreeSWITCH (Version 1.3.13b git 8859eb0 2012-12-30 19:08:55Z) is ready\n0 session(s) since startup\n0 session(s) - 0 out of max 30 per sec \n1000 session(s) max\nmin idle cpu 0.00/99.00\nCurrent Stack Size/Max 240K/8192K\n"} (test33@freeswitch.besharp.at)3<mailto:test33@freeswitch.besharp.at)3>> Console output: freeswitch@fstest> load mod_erlang_event 2012-12-31 13:17:21.420611 [INFO] mod_enum.c:872 ENUM Reloaded 2012-12-31 13:17:21.420611 [INFO] switch_time.c:1165 Timezone reloaded 530 definitions 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1816 sections 16 2012-12-31 13:17:21.420611 [CONSOLE] switch_loadable_module.c:1348 Successfully Loaded [mod_erlang_event] 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang_sendmsg' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:298 Adding API Function 'erlang' +OK Reloading XML +OK 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1915 Socket 48 up listening on 0.0.0.0:8031 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1946 Connected to epmd and published erlang cnode at freeswitch@freeswitch.besharp.at freeswitch@fstest> 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1986 Launching listener, connection from node test33@freeswitch.besharp.at, ip 192.168.20.73 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1009 Connection Open from 192.168.20.73 Thanks / regards and Happy New Year :) Gw
Some more infos: Changed the init/1 function to: init(Node) -> {foo, Node} ! register_event_handler, {foo, Node} ! register_log_handler, {foo, Node} ! {event, 'ALL'}, {foo, Node} ! {set_log_level, debug}. Now the "invalid process type" error message disappeared, but i still dont get any events. Some erlang console command outputs: freeswitch@fstest> erlang listeners Listener to test33@freeswitch.besharp.at with 0 outbound sessions freeswitch@fstest> erlang bindings No bindings freeswitch@fstest> erlang handlers Listener test33@freeswitch.besharp.at: -------------------------------- CLONE CHANNEL_CREATE CHANNEL_DESTROY CHANNEL_STATE CHANNEL_CALLSTATE CHANNEL_ANSWER CHANNEL_HANGUP CHANNEL_HANGUP_COMPLETE CHANNEL_EXECUTE CHANNEL_EXECUTE_COMPLETE CHANNEL_HOLD CHANNEL_UNHOLD CHANNEL_BRIDGE CHANNEL_UNBRIDGE CHANNEL_PROGRESS CHANNEL_PROGRESS_MEDIA CHANNEL_OUTGOING CHANNEL_PARK CHANNEL_UNPARK CHANNEL_APPLICATION CHANNEL_ORIGINATE CHANNEL_UUID API LOG INBOUND_CHAN OUTBOUND_CHAN STARTUP SHUTDOWN PUBLISH UNPUBLISH TALK NOTALK SESSION_CRASH MODULE_LOAD MODULE_UNLOAD DTMF MESSAGE PRESENCE_IN NOTIFY_IN PRESENCE_OUT PRESENCE_PROBE MESSAGE_WAITING MESSAGE_QUERY ROSTER CODEC BACKGROUND_JOB DETECTED_SPEECH DETECTED_TONE PRIVATE_COMMAND HEARTBEAT TRAP ADD_SCHEDULE DEL_SCHEDULE EXE_SCHEDULE RE_SCHEDULE RELOADXML NOTIFY SEND_MESSAGE RECV_MESSAGE REQUEST_PARAMS CHANNEL_DATA GENERAL COMMAND SESSION_HEARTBEAT CLIENT_DISCONNECTED SERVER_DISCONNECTED SEND_INFO RECV_INFO RECV_RTCP_MESSAGE CALL_SECURE NAT RECORD_START RECORD_STOP PLAYBACK_START PLAYBACK_STOP CALL_UPDATE FAILURE SOCKET_DATA MEDIA_BUG_START MEDIA_BUG_STOP CONFERENCE_DATA_QUERY CONFERENCE_DATA CALL_SETUP_REQ CALL_SETUP_RESULT CUSTOM: Thanks gw Von: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] Im Auftrag von Gerald Weber Gesendet: Montag, 31. Dezember 2012 13:30 An: freeswitch-users@lists.freeswitch.org Betreff: [Freeswitch-users] mod_event_erlang and invalid process type Hi all, trying to learn erlang i tried to connect to freeswitch using mod_event_erlang and receive some events: erlang shell: [root@fstest ~]# erl -name test33@freeswitch.besharp.at<mailto:test33@freeswitch.besharp.at> -setcookie ClueCon Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) (test33@freeswitch.besharp.at)1<mailto:test33@freeswitch.besharp.at)1>> Pid = fsevents:start(). <0.46.0> (test33@freeswitch.besharp.at)2<mailto:test33@freeswitch.besharp.at)2>> fsevents:init('freeswitch@freeswitch.besharp.at'). {event,'ALL'} (test33@freeswitch.besharp.at)3<mailto:test33@freeswitch.besharp.at)3>> Console output: 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:301 ALL events enabled 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:314 enable event ALL 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.500492 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) Can anyone tell me what i'm doing wrong ? Console log keeps saying invalid process type (until i kill the erlang process) and i dont receive any events. Erlang Version: 5.9.3.1 Freeswitch: latest HEAD from 2012-12-31 The fsevents module: -module(fsevents). -export([start/0, init/1, loop/0]). start() -> Pid = spawn(?MODULE, loop, []), register(?MODULE,Pid), Pid. init(Node) -> {foo, Node} ! {event, 'ALL'}. loop() -> receive stop -> ok; _Anything -> io:format("received ~p~n", [_Anything]), loop() end. The communication seems to work basically: (test33@freeswitch.besharp.at)4<mailto:test33@freeswitch.besharp.at)4>> {foo, freeswitch@freeswitch.besharp.at<mailto:freeswitch@freeswitch.besharp.at>} ! {api, status, ""}. {api,status,[]} (test33@freeswitch.besharp.at)5<mailto:test33@freeswitch.besharp.at)5>> receive Y -> Y after 1000 -> timeout end. {ok,"UP 0 years, 0 days, 1 hour, 20 minutes, 52 seconds, 534 milliseconds, 225 microseconds\nFreeSWITCH (Version 1.3.13b git 8859eb0 2012-12-30 19:08:55Z) is ready\n0 session(s) since startup\n0 session(s) - 0 out of max 30 per sec \n1000 session(s) max\nmin idle cpu 0.00/99.00\nCurrent Stack Size/Max 240K/8192K\n"} (test33@freeswitch.besharp.at)3<mailto:test33@freeswitch.besharp.at)3>> Console output: freeswitch@fstest> load mod_erlang_event 2012-12-31 13:17:21.420611 [INFO] mod_enum.c:872 ENUM Reloaded 2012-12-31 13:17:21.420611 [INFO] switch_time.c:1165 Timezone reloaded 530 definitions 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1816 sections 16 2012-12-31 13:17:21.420611 [CONSOLE] switch_loadable_module.c:1348 Successfully Loaded [mod_erlang_event] 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang_sendmsg' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:298 Adding API Function 'erlang' +OK Reloading XML +OK 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1915 Socket 48 up listening on 0.0.0.0:8031 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1946 Connected to epmd and published erlang cnode at freeswitch@freeswitch.besharp.at<mailto:freeswitch@freeswitch.besharp.at> freeswitch@fstest> 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1986 Launching listener, connection from node test33@freeswitch.besharp.at<mailto:test33@freeswitch.besharp.at>, ip 192.168.20.73 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1009 Connection Open from 192.168.20.73 Thanks / regards and Happy New Year :) Gw
First, try this init(Node) -> {foo, Node} ! register_event_handler, {event, Node} ! {event, 'ALL'}. register_event_handler will tell FS to send all events back to the *current* process, so you can get all events by using flush(). 2) If you want to coming events send to a dedicated PID, spawn a process and then send the following message in that process {foo, Node} ! register_event_handler, IN your case, you might want this: loop() -> {foo, Node} ! register_event_handler, {event, Node} ! {event, 'ALL'}, receive stop -> ok; _Anything -> io:format("received ~p~n", [_Anything]), loop() end. 3) Anyway, try read the freeswitch.erl in the source tree to understand more. -- Seven Du Sent with Sparrow (http://www.sparrowmailapp.com/?sig) On Monday, December 31, 2012 at 9:12 PM, Gerald Weber wrote:
Some more infos:
Changed the init/1 function to:
init(Node) -> {foo, Node} ! register_event_handler, {foo, Node} ! register_log_handler, {foo, Node} ! {event, 'ALL'}, {foo, Node} ! {set_log_level, debug}.
Now the „invalid process type“ error message disappeared, but i still dont get any events.
Some erlang console command outputs:
freeswitch@fstest> erlang listeners
Listener to test33@freeswitch.besharp.at (mailto:test33@freeswitch.besharp.at) with 0 outbound sessions
freeswitch@fstest> erlang bindings
No bindings
freeswitch@fstest> erlang handlers
Listener test33@freeswitch.besharp.at (mailto:test33@freeswitch.besharp.at): -------------------------------- CLONE CHANNEL_CREATE CHANNEL_DESTROY CHANNEL_STATE CHANNEL_CALLSTATE CHANNEL_ANSWER CHANNEL_HANGUP CHANNEL_HANGUP_COMPLETE CHANNEL_EXECUTE CHANNEL_EXECUTE_COMPLETE CHANNEL_HOLD CHANNEL_UNHOLD CHANNEL_BRIDGE CHANNEL_UNBRIDGE CHANNEL_PROGRESS CHANNEL_PROGRESS_MEDIA CHANNEL_OUTGOING CHANNEL_PARK CHANNEL_UNPARK CHANNEL_APPLICATION CHANNEL_ORIGINATE CHANNEL_UUID API LOG INBOUND_CHAN OUTBOUND_CHAN STARTUP SHUTDOWN PUBLISH UNPUBLISH TALK NOTALK SESSION_CRASH MODULE_LOAD MODULE_UNLOAD DTMF MESSAGE PRESENCE_IN NOTIFY_IN PRESENCE_OUT PRESENCE_PROBE MESSAGE_WAITING MESSAGE_QUERY ROSTER CODEC BACKGROUND_JOB DETECTED_SPEECH DETECTED_TONE PRIVATE_COMMAND HEARTBEAT TRAP ADD_SCHEDULE DEL_SCHEDULE EXE_SCHEDULE RE_SCHEDULE RELOADXML NOTIFY SEND_MESSAGE RECV_MESSAGE REQUEST_PARAMS CHANNEL_DATA GENERAL COMMAND SESSION_HEARTBEAT CLIENT_DISCONNECTED SERVER_DISCONNECTED SEND_INFO RECV_INFO RECV_RTCP_MESSAGE CALL_SECURE NAT RECORD_START RECORD_STOP PLAYBACK_START PLAYBACK_STOP CALL_UPDATE FAILURE SOCKET_DATA MEDIA_BUG_START MEDIA_BUG_STOP CONFERENCE_DATA_QUERY CONFERENCE_DATA CALL_SETUP_REQ CALL_SETUP_RESULT CUSTOM:
Thanks gw
Von: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] Im Auftrag von Gerald Weber Gesendet: Montag, 31. Dezember 2012 13:30 An: freeswitch-users@lists.freeswitch.org (mailto:freeswitch-users@lists.freeswitch.org) Betreff: [Freeswitch-users] mod_event_erlang and invalid process type
Hi all,
trying to learn erlang i tried to connect to freeswitch using mod_event_erlang and receive some events:
erlang shell:
[root@fstest ~]# erl -name test33@freeswitch.besharp.at (mailto:test33@freeswitch.besharp.at) -setcookie ClueCon Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false]
Eshell V5.9.3.1 (abort with ^G) (test33@freeswitch.besharp.at)1 (mailto:test33@freeswitch.besharp.at)1)> Pid = fsevents:start(). <0.46.0> (test33@freeswitch.besharp.at)2 (mailto:test33@freeswitch.besharp.at)2)> fsevents:init('freeswitch@freeswitch.besharp.at (mailto:freeswitch@freeswitch.besharp.at)'). {event,'ALL'} (test33@freeswitch.besharp.at)3 (mailto:test33@freeswitch.besharp.at)3)>
Console output:
2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:301 ALL events enabled 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:314 enable event ALL 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.500492 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>)
Can anyone tell me what i’m doing wrong ? Console log keeps saying invalid process type (until i kill the erlang process) and i dont receive any events.
Erlang Version: 5.9.3.1 Freeswitch: latest HEAD from 2012-12-31
The fsevents module:
-module(fsevents). -export([start/0, init/1, loop/0]).
start() -> Pid = spawn(?MODULE, loop, []), register(?MODULE,Pid), Pid.
init(Node) -> {foo, Node} ! {event, 'ALL'}.
loop() -> receive stop -> ok; _Anything -> io:format("received ~p~n", [_Anything]), loop() end.
The communication seems to work basically:
(test33@freeswitch.besharp.at)4 (mailto:test33@freeswitch.besharp.at)4)> {foo, freeswitch@freeswitch.besharp.at (mailto:freeswitch@freeswitch.besharp.at)} ! {api, status, ""}. {api,status,[]} (test33@freeswitch.besharp.at)5 (mailto:test33@freeswitch.besharp.at)5)> receive Y -> Y after 1000 -> timeout end. {ok,"UP 0 years, 0 days, 1 hour, 20 minutes, 52 seconds, 534 milliseconds, 225 microseconds\nFreeSWITCH (Version 1.3.13b git 8859eb0 2012-12-30 19:08:55Z) is ready\n0 session(s) since startup\n0 session(s) - 0 out of max 30 per sec \n1000 session(s) max\nmin idle cpu 0.00/99.00\nCurrent Stack Size/Max 240K/8192K\n"} (test33@freeswitch.besharp.at)3 (mailto:test33@freeswitch.besharp.at)3)>
Console output:
freeswitch@fstest> load mod_erlang_event 2012-12-31 13:17:21.420611 [INFO] mod_enum.c:872 ENUM Reloaded 2012-12-31 13:17:21.420611 [INFO] switch_time.c:1165 Timezone reloaded 530 definitions 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1816 sections 16 2012-12-31 13:17:21.420611 [CONSOLE] switch_loadable_module.c:1348 Successfully Loaded [mod_erlang_event] 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang_sendmsg' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:298 Adding API Function 'erlang'
+OK Reloading XML +OK
2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1915 Socket 48 up listening on 0.0.0.0:8031 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1946 Connected to epmd and published erlang cnode at freeswitch@freeswitch.besharp.at (mailto:freeswitch@freeswitch.besharp.at) freeswitch@fstest> 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1986 Launching listener, connection from node test33@freeswitch.besharp.at (mailto:test33@freeswitch.besharp.at), ip 192.168.20.73 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1009 Connection Open from 192.168.20.73
Thanks / regards and Happy New Year J Gw
_________________________________________________________________________ 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
Thanks for your answer, it’s working now ☺ Von: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] Im Auftrag von Seven Du Gesendet: Dienstag, 01. Jänner 2013 02:06 An: FreeSWITCH Users Help Betreff: Re: [Freeswitch-users] mod_event_erlang and invalid process type First, try this init(Node) -> {foo, Node} ! register_event_handler, {event, Node} ! {event, 'ALL'}. register_event_handler will tell FS to send all events back to the *current* process, so you can get all events by using flush(). 2) If you want to coming events send to a dedicated PID, spawn a process and then send the following message in that process {foo, Node} ! register_event_handler, IN your case, you might want this: loop() -> {foo, Node} ! register_event_handler, {event, Node} ! {event, 'ALL'}, receive stop -> ok; _Anything -> io:format("received ~p~n", [_Anything]), loop() end. 3) Anyway, try read the freeswitch.erl in the source tree to understand more. -- Seven Du Sent with Sparrow<http://www.sparrowmailapp.com/?sig> On Monday, December 31, 2012 at 9:12 PM, Gerald Weber wrote: Some more infos: Changed the init/1 function to: init(Node) -> {foo, Node} ! register_event_handler, {foo, Node} ! register_log_handler, {foo, Node} ! {event, 'ALL'}, {foo, Node} ! {set_log_level, debug}. Now the „invalid process type“ error message disappeared, but i still dont get any events. Some erlang console command outputs: freeswitch@fstest> erlang listeners Listener to test33@freeswitch.besharp.at<mailto:test33@freeswitch.besharp.at> with 0 outbound sessions freeswitch@fstest> erlang bindings No bindings freeswitch@fstest> erlang handlers Listener test33@freeswitch.besharp.at<mailto:test33@freeswitch.besharp.at>: -------------------------------- CLONE CHANNEL_CREATE CHANNEL_DESTROY CHANNEL_STATE CHANNEL_CALLSTATE CHANNEL_ANSWER CHANNEL_HANGUP CHANNEL_HANGUP_COMPLETE CHANNEL_EXECUTE CHANNEL_EXECUTE_COMPLETE CHANNEL_HOLD CHANNEL_UNHOLD CHANNEL_BRIDGE CHANNEL_UNBRIDGE CHANNEL_PROGRESS CHANNEL_PROGRESS_MEDIA CHANNEL_OUTGOING CHANNEL_PARK CHANNEL_UNPARK CHANNEL_APPLICATION CHANNEL_ORIGINATE CHANNEL_UUID API LOG INBOUND_CHAN OUTBOUND_CHAN STARTUP SHUTDOWN PUBLISH UNPUBLISH TALK NOTALK SESSION_CRASH MODULE_LOAD MODULE_UNLOAD DTMF MESSAGE PRESENCE_IN NOTIFY_IN PRESENCE_OUT PRESENCE_PROBE MESSAGE_WAITING MESSAGE_QUERY ROSTER CODEC BACKGROUND_JOB DETECTED_SPEECH DETECTED_TONE PRIVATE_COMMAND HEARTBEAT TRAP ADD_SCHEDULE DEL_SCHEDULE EXE_SCHEDULE RE_SCHEDULE RELOADXML NOTIFY SEND_MESSAGE RECV_MESSAGE REQUEST_PARAMS CHANNEL_DATA GENERAL COMMAND SESSION_HEARTBEAT CLIENT_DISCONNECTED SERVER_DISCONNECTED SEND_INFO RECV_INFO RECV_RTCP_MESSAGE CALL_SECURE NAT RECORD_START RECORD_STOP PLAYBACK_START PLAYBACK_STOP CALL_UPDATE FAILURE SOCKET_DATA MEDIA_BUG_START MEDIA_BUG_STOP CONFERENCE_DATA_QUERY CONFERENCE_DATA CALL_SETUP_REQ CALL_SETUP_RESULT CUSTOM: Thanks gw Von: freeswitch-users-bounces@lists.freeswitch.org<mailto:freeswitch-users-bounces@lists.freeswitch.org> [mailto:freeswitch-users-bounces@lists.freeswitch.org] Im Auftrag von Gerald Weber Gesendet: Montag, 31. Dezember 2012 13:30 An: freeswitch-users@lists.freeswitch.org<mailto:freeswitch-users@lists.freeswitch.org> Betreff: [Freeswitch-users] mod_event_erlang and invalid process type Hi all, trying to learn erlang i tried to connect to freeswitch using mod_event_erlang and receive some events: erlang shell: [root@fstest ~]# erl -name test33@freeswitch.besharp.at<mailto:test33@freeswitch.besharp.at> -setcookie ClueCon Erlang R15B03 (erts-5.9.3.1) [source] [64-bit] [smp:2:2] [async-threads:0] [hipe] [kernel-poll:false] Eshell V5.9.3.1 (abort with ^G) (test33@freeswitch.besharp.at)1<mailto:test33@freeswitch.besharp.at)1>> Pid = fsevents:start(). <0.46.0> (test33@freeswitch.besharp.at)2<mailto:test33@freeswitch.besharp.at)2>> fsevents:init('freeswitch@freeswitch.besharp.at<mailto:freeswitch@freeswitch.besharp.at>'). {event,'ALL'} (test33@freeswitch.besharp.at)3<mailto:test33@freeswitch.besharp.at)3>> Console output: 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:301 ALL events enabled 2012-12-31 13:18:36.900506 [DEBUG] handle_msg.c:314 enable event ALL 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.480577 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) 2012-12-31 13:18:51.500492 [ERR] ei_helpers.c:274 Invalid process type 0! ((null),, <0.0.0>) Can anyone tell me what i’m doing wrong ? Console log keeps saying invalid process type (until i kill the erlang process) and i dont receive any events. Erlang Version: 5.9.3.1 Freeswitch: latest HEAD from 2012-12-31 The fsevents module: -module(fsevents). -export([start/0, init/1, loop/0]). start() -> Pid = spawn(?MODULE, loop, []), register(?MODULE,Pid), Pid. init(Node) -> {foo, Node} ! {event, 'ALL'}. loop() -> receive stop -> ok; _Anything -> io:format("received ~p~n", [_Anything]), loop() end. The communication seems to work basically: (test33@freeswitch.besharp.at)4<mailto:test33@freeswitch.besharp.at)4>> {foo, freeswitch@freeswitch.besharp.at<mailto:freeswitch@freeswitch.besharp.at>} ! {api, status, ""}. {api,status,[]} (test33@freeswitch.besharp.at)5<mailto:test33@freeswitch.besharp.at)5>> receive Y -> Y after 1000 -> timeout end. {ok,"UP 0 years, 0 days, 1 hour, 20 minutes, 52 seconds, 534 milliseconds, 225 microseconds\nFreeSWITCH (Version 1.3.13b git 8859eb0 2012-12-30 19:08:55Z) is ready\n0 session(s) since startup\n0 session(s) - 0 out of max 30 per sec \n1000 session(s) max\nmin idle cpu 0.00/99.00\nCurrent Stack Size/Max 240K/8192K\n"} (test33@freeswitch.besharp.at)3<mailto:test33@freeswitch.besharp.at)3>> Console output: freeswitch@fstest> load mod_erlang_event 2012-12-31 13:17:21.420611 [INFO] mod_enum.c:872 ENUM Reloaded 2012-12-31 13:17:21.420611 [INFO] switch_time.c:1165 Timezone reloaded 530 definitions 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1816 sections 16 2012-12-31 13:17:21.420611 [CONSOLE] switch_loadable_module.c:1348 Successfully Loaded [mod_erlang_event] 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:254 Adding Application 'erlang_sendmsg' 2012-12-31 13:17:21.420611 [NOTICE] switch_loadable_module.c:298 Adding API Function 'erlang' +OK Reloading XML +OK 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1915 Socket 48 up listening on 0.0.0.0:8031 2012-12-31 13:17:21.420611 [DEBUG] mod_erlang_event.c:1946 Connected to epmd and published erlang cnode at freeswitch@freeswitch.besharp.at<mailto:freeswitch@freeswitch.besharp.at> freeswitch@fstest> 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1986 Launching listener, connection from node test33@freeswitch.besharp.at<mailto:test33@freeswitch.besharp.at>, ip 192.168.20.73 2012-12-31 13:17:43.380527 [DEBUG] mod_erlang_event.c:1009 Connection Open from 192.168.20.73 Thanks / regards and Happy New Year ☺ Gw _________________________________________________________________________ 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 (2)
-
Gerald Weber
-
Seven Du