[Freeswitch-dev] uuid in mod_spandsp_fax.c

Steve Underwood steveu at coppice.org
Wed Mar 28 19:41:17 MSD 2012


Hi,

I have commited changes to spandsp which introduces an additional opaque 
pointer argument to the spandsp logging routines. I have also changed 
mod_spandsp so it basically handles this parameter. However, right now 
NULL is always being passed. Someone is welcome to now start using this 
feature in a more meaningful way.

Steve


On 03/28/2012 02:20 AM, Steve Underwood wrote:
> I can add an additional user controlled opaque pointer to each instance
> of spandsp's logging, and extend the callbacks to pass that pointer to
> the application. Most other things in spandsp pass opaque pointers in
> callbacks, so it would kind of complete the set.
>
> Steve
>
>
> On 03/28/2012 01:18 AM, Anthony Minessale wrote:
>> I think you would need to change spandsp itself to allow a private
>> pointer to pass to the logging callback or you're out of luck.
>>
>>
>>
>> On Tue, Mar 27, 2012 at 10:56 AM, Michael Collins<msc at freeswitch.org>   wrote:
>>> *SIGH* evidently there's a magic keystroke that means "send" in GMail and I
>>> accidentally pressed it.
>>>
>>> As I was saying, it looks like this function is only called 6 times:
>>>
>>> <139>:grep -n spanfax_log_message mod_spandsp_fax.c
>>> 262:void spanfax_log_message(int level, const char *msg)
>>> 716:        span_log_set_message_handler(&fax->logging,
>>> spanfax_log_message);
>>> 717:        span_log_set_message_handler(&t30->logging,
>>> spanfax_log_message);
>>> 772:            span_log_set_message_handler(&t38->logging,
>>> spanfax_log_message);
>>> 773:            span_log_set_message_handler(&t30->logging,
>>> spanfax_log_message);
>>> 827:     span_log_set_message_handler(&pvt->t38_gateway_state->logging,
>>> spanfax_log_message);
>>> 828:     span_log_set_message_handler(&pvt->t38_core->logging,
>>> spanfax_log_message);
>>>
>>> I'd wager that each of those calls to the logging function would have
>>> knowledge of the sesssion. I'd recommend adding a 3rd argument to the
>>> logging function. In this case, I'd just add a const char *uuid and then
>>> change each call to that function to supply the UUID as the 3rd argument. If
>>> there is no knowledge of the session or uuid then just put an empty string
>>> as the argument.
>>>
>>> In any case, happy coding! :)
>>>
>>> -MC
>>>
>>>
>>> On Tue, Mar 27, 2012 at 1:15 AM, Anita Hall<anita.hall at simmortel.com>
>>> wrote:
>>>> Yes Mitch, I did that but the Fax internal messages are printed by this
>>>> line which has no knowledge of the session.
>>>>     switch_log_printf(SWITCH_CHANNEL_LOG, fs_log_level, "%s", msg);
>>>>
>>>> I do not think, it can print the uuid without knowing the session ?
>>>>
>>>> Here is a log snippet to show uuid prefixed at other places except line
>>>> 286 of mod_spandsp_fax.c shown above
>>>>
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30   1...
>>>> ....= Extension indicator: Set
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30   ....
>>>> ..0.= Compressed/uncompressed mode: Compressed
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30   ....
>>>> .1..= Error correction mode (ECM): ECM
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30   ....
>>>> 0...= Frame size: 256 octets
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30   .1..
>>>> ....= T.6 coding: Set
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30   0...
>>>> ....= Extension indicator: Not set
>>>> 2012-03-27 13:40:38.604877 [DEBUG] mod_spandsp_fax.c:286 FLOW T.30
>>>> Selected compression T.6 (3)
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:327 === Negotiation Result
>>>> =======================================================
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:328 Remote station id:
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:329 Local station id:  Sangoma Fax Ident
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:330 Transfer Rate:     4800
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:332 ECM status         on
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:333 remote country:
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:334 remote vendor:
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:335 remote model:
>>>> 46736448-77e4-11e1-855c-b3286880c45b 2012-03-27 13:40:38.604877 [DEBUG]
>>>> mod_spandsp_fax.c:337
>>>> =========================================================================
>>>>
>>>>
>>>> regards,
>>>> Anita




Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list