< Previous by Date Date Index Next by Date >
  Thread Index  

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


Please remove my mail address from the subscription list.

Regards,
Ponrajadurai Sokkeswaran


On Friday, 6 June 2014, 15:29, "resiprocate-devel-request@xxxxxxxxxxxxxxx" <resiprocate-devel-request@xxxxxxxxxxxxxxx> wrote:


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

Send resiprocate-devel mailing list submissions to
    resiprocate-devel@xxxxxxxxxxxxxxx

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@xxxxxxxxxxxxxxx

You can reach the person managing the list at
    resiprocate-devel-owner@xxxxxxxxxxxxxxx

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@xxxxxxxxx> 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@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@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel

Hi,
you are quite right, there must be outboundRetransmit


_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel