Thanks again. I just finished adding support for this exact same thing to SVN mainline. Here is the posting titled "Transport logging patch" describing this work:
Hi Palladin,
I have taken this patch, modified it and committed it. Thanks for contributing. Here's a I highlight of what I changed:
-removed use of the term Decorator in the name - these callbacks are for logging only, not message modification - renamed to SipMessageLoggingHandler
-renamed the virtual print methods to be more descriptive: outboundMessage and inboundMessage
-added source and destination parameters to inbound messages to be consistent
-made SipMessage arguments const - to indicate you cannot modify the SipMessages - only examine / log them
-removed static use - each Transport now can carry it's own handler. You can set a single handle in SipStack::setTransportSipMessageLoggingHandler
- this implementation is flexible and allows a single handler per stack instance or handler per transport instance - it is not locked to one handler for all stack instances
-added ability to turn on INFO level SipMessage logging to repro configuration
Regards,
Scott
-added ability to install a SipMessageLoggingHandler that will get called for every inbound and outbound
SIP Message on a particular transport - work started by Palladin
-added SipStack::setTransportSipMessageLoggingHandler to set logger on all added transports
-added new Repro setting EnableSipMessageLogging to enable INFO level SipMessage logging