[Freeswitch-dev] please shed me light on code reading

Michael Jerris mike at jerris.com
Tue Nov 23 06:39:17 PST 2010


a variable is a channel variable that you can access in the dial-plan, in events, etc.  A private is a void pointer that we use to store data that is later accessed by name in the application.  The code you were talking about below was added to support loopback channel:

commit d0a74dd5c445e8a1540ba0a3f465ad394e033193
Date:   Mon Apr 26 04:30:10 2010 -0400
    mod_spy: add support for loopback endpoint (MODAPP-416)



Mike

On Nov 21, 2010, at 2:36 AM, jesse wrote:

> 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 at 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 at 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/mod_spy.c
>> 
> 
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org




More information about the FreeSWITCH-dev mailing list