one more question. switch_channel_set_variable(channel, "spy_uuid", my_uuid); switch_channel_set_private(channel, "_userspy_", (void *) argv[0]); why one is set via rugular variable and one is set via private? is that necessary? -jesse On Sat, Nov 20, 2010 at 10:48 PM, jesse <chat2jesse@gmail.com> wrote:
hi,
Any expert can shed me some light on quick code understanding? thanks in advance!
suppose I dial 88<1001> to spy on extension user 1001. and 5 minutes later 1001 calls 1002.
<extension name="userspy"> <condition field="destination_number" expression="^88(.*)$|^\*0(.*)$"> <action application="answer"/> <action application="userspy" data="$1@192.168.1.1"/> </condition> </extension>
in event_handle(...) of mod_spy.c. -- Whats is the reason that we need to call process_event for both event and peer_event? is not processing event for call leg-a 's bridge enough? it seems mod_spy.c in 1.0.6 version doesn't process peer_event.
static void event_handler(switch_event_t *event) { if (process_event(event) != SWITCH_STATUS_SUCCESS) { const char *peer_uuid = switch_event_get_header(event, "variable_signal_bond"); ... if (peer_event) { process_event(peer_event); } } }
http://svn.freeswitch.org/svn/freeswitch/trunk/src/mod/applications/mod_spy/...