[reSIProcate] resiprocate-devel Digest, Vol 122, Issue 4

Ponrajadurai Sokkeswaran ponrajit at yahoo.com
Fri Jun 6 12:32:31 CDT 2014


Please remove my mail address from the subscription list. 


Regards,
Ponrajadurai Sokkeswaran



On Friday, 6 June 2014, 15:29, "resiprocate-devel-request at resiprocate.org" <resiprocate-devel-request at resiprocate.org> wrote:
 


----- Forwarded Message -----

Send resiprocate-devel mailing list submissions to
    resiprocate-devel at resiprocate.org

To subscribe or unsubscribe via the World Wide Web, visit
    https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
or, via email, send a message with subject or body 'help' to
    resiprocate-devel-request at resiprocate.org

You can reach the person managing the list at
    resiprocate-devel-owner at resiprocate.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of resiprocate-devel digest..."

Today's Topics:

   1. DUM reject() should have minExpires, warning,    where
      appropriate (John Gregg)
   2. DUM: enablePrack methods? (John Gregg)
   3. Re: DUM: enablePrack methods? (Scott Godin)
   4. Re: retransmit patch (Scott Godin)

We have found it useful to make the reject() method take optional 
parameters for a warning header and a minExpires header where appropriate.

In an hxx file:

void reject(int statusCode, int minExpiry = -1, const WarningCategory * 
warning = NULL);

Then in the cxx file:

ServerRegistration::reject(int statusCode, int minExpiry, const 
WarningCategory * warning)
  {
     InfoLog( << "rejected a registration " << mAor << " with 
statusCode=" << statusCode );

@@ -167,6 +167,16 @@
     SharedPtr<SipMessage> failure(new SipMessage);
     mDum.makeResponse(*failure, mRequest, statusCode);
     failure->remove(h_Contacts);
+   if (minExpiry != -1)
+   {
+       failure->header(h_MinExpires).value() = minExpiry;
+   }
+
+   if (warning)
+   {
+       failure->header(h_Warnings).push_back(*warning);
+   }
+
     mDum.send(failure);
     delete(this);
  }

Of course, not all reject() methods want both new arguments. Diff files 
from 1.9.6 attached.

regards,

-John Gregg


I am updating some old app code that used an older resiprocate version. 
It did this:

mDum->getMasterProfile()->addSupportedOptionTag(Token(Symbols::C100rel));

which of course hits this assert in 1.9.6:

void
MasterProfile::addSupportedOptionTag(const Token& tag)
{
    if (tag == Token(Symbols::C100rel))
    {
       //use enablePrackUas and enablePrackUac
       assert(0);
    }
    mSupportedOptionTags.push_back(tag);
}

Am I correct in thinking that my app should just not do that anymore? A 
quick grep reveals no such routines as enablePrackUas and 
enablePrackUac, so at the very least, the comment should be changed.

regards,

-John Gregg




Hi John,

When you enable PRACK via the setUasReliableProvisionalMode and setUacReliableProvisionalMode profile API's DUM will automatically add the 100rel to the Support headers for you.

I will update the comments with the correct API names.

Scott



On Thu, Jun 5, 2014 at 4:40 PM, John Gregg <jgregg at aylus.com> wrote:


>I am updating some old app code that used an older resiprocate version. It did this:
>
>mDum->getMasterProfile()->addSupportedOptionTag(Token(Symbols::C100rel));
>
>which of course hits this assert in 1.9.6:
>
>void
>MasterProfile::addSupportedOptionTag(const Token& tag)
>{
>   if (tag == Token(Symbols::C100rel))
>   {
>      //use enablePrackUas and enablePrackUac
>      assert(0);
>   }
>   mSupportedOptionTags.push_back(tag);
>}
>
>Am I correct in thinking that my app should just not do that anymore? A quick grep reveals no such routines as enablePrackUas and enablePrackUac, so at the very least, the comment should be changed.
>
>regards,
>
>-John Gregg
>
>_______________________________________________
>resiprocate-devel mailing list
>resiprocate-devel at resiprocate.org
>https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>

Done - with some minor mods.

Thanks,
Scott



On Thu, Jun 5, 2014 at 11:41 AM, palladin <p-aladin at yandex.ru> wrote:

On 06/05/2014 06:28 PM, Scott Godin wrote:
>
>Is there a typo in the diff?  Didn't you mean to call handler->outboundRetransmit instead of outboundMessage? 
>>
>>
>>Scott
>>
>>
>>
>>On Thu, Jun 5, 2014 at 3:52 AM, palladin <p-aladin at yandex.ru> wrote:
>>
>>Dear resip devels,
>>>Some time before there was a Transport Logging patch.
>>>Could you please extend it with a few lines intended to log
            retransmit messages?
>>>For example:
>>>
>>>diff --git a/resip/stack/Transport.hxx
            b/resip/stack/Transport.hxx
>>>index 7b530cb..3b5c548 100644
>>>--- a/resip/stack/Transport.hxx
>>>+++ b/resip/stack/Transport.hxx
>>>@@ -77,6 +77,7 @@ class Transport : public FdSetIOObserver
>>>       public:
>>>           virtual ~SipMessageLoggingHandler(){}
>>>           virtual void outboundMessage(const Tuple
            &source, const Tuple &destination, const SipMessage
            &msg) = 0;
>>>+          virtual void outboundRetransmit( const
            SendData& data ) = 0;
>>>           virtual void inboundMessage(const Tuple&
            source, const Tuple& destination, const SipMessage
            &msg) = 0;
>>>       };
>>>
>>>diff --git a/resip/stack/TransportSelector.cxx
            b/resip/stack/TransportSelector.cxx
>>>index c57394d..919bbdb 100644
>>>--- a/resip/stack/TransportSelector.cxx
>>>+++ b/resip/stack/TransportSelector.cxx
>>>@@ -1342,6 +1342,13 @@ TransportSelector::retransmit(const
            SendData& data)
>>>    if(transport)
>>>    {
>>>       // If this is not true, it means the transport has
            been removed.
>>>+      Transport::SipMessageLoggingHandler* handler =
            transport->getSipMessageLoggingHandler();
>>>+
>>>+      if(handler)
>>>+      {
>>>+        handler->outboundMessage(data);
>>>+      }
>>>+
>>>transport->send(std::auto_ptr<SendData>(data.clone()));
>>>    }
>>> }
>>>
>>>Appreciate in advance.
>>>tez.
>>>_______________________________________________
>>>resiprocate-devel mailing list
>>>resiprocate-devel at resiprocate.org
>>>https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>>>
>>
Hi,
>you are quite right, there must be outboundRetransmit 

_______________________________________________
resiprocate-devel mailing list
resiprocate-devel at resiprocate.org
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20140606/662b8b1e/attachment.htm>


More information about the resiprocate-devel mailing list