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

Re: [reSIProcate-users] Can't find session when received a refer call with replace header.




In the working flow, from the first 200 response you can see the dialog info is:
Call-ID: BxY5GHi7NPgZo0H8WRrCiA..
to-tag: cf38b430
from-tag: 1f346342

The resulting Replaces header in the INVITE to the 3rd party is correct:
Replaces: BxY5GHi7NPgZo0H8WRrCiA..;to-tag=cf38b430;from-tag=1f346342



In the non-working example you see:
Call-ID: 118441ED-53719E6D0004983B-84A43700
to-tag: 8336df3f
from-tag: 1CE9012D-53719E6D0004982A-84A43700

In this case the resulting Replaces header is wrong from User-Agent: FLASH APP:
Replaces: T6kkMa3KyPWHNzvCewUBfw..;to-tag=513B7FE8-53719E6D000490F1-3492C700;from-tag=df24e461

Regards,
Scottt


On Tue, May 13, 2014 at 12:36 AM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
Hi Scott, thanks for attention, attached the wireshark traces in email, the test flows are:

1. jkweb1 call jkweb3
2. jkweb1 hold the call to jkweb3
3. jkweb1 call jkweb2
4. jkweb1 execute the attend transfer to jkweb2 to replace the jkweb3
5. The jkweb3 received the incoming call from jkweb2 with replace header
6. iptel.org: the "mDum.findInviteSession" fails;
    sip2sip: works fine.


Best regards,




On Tue, May 13, 2014 at 3:28 AM, Scott Godin <sgodin@xxxxxxxxxxxxxxx> wrote:
Perhaps sip.iptel.org has the to and from tags backwards in the embedded dialog info in the replaces header - impossible to tell without wireshark traces or logs.

Regards,
Scott


On Sun, May 11, 2014 at 11:25 AM, Herbert Karajan <boost.regex@xxxxxxxxx> wrote:
Hi, I'm test my UA with sip.iptel.org and opensips.org for attended transfer feature.

I'm follow the code that in the basicclientcall.cxx:

=================
void
BasicClientCall::onNewSession(ServerInviteSessionHandle h, InviteSession::OfferAnswerType oat, const SipMessage& msg)
{
   InfoLog(<< "onNewSession(ServerInviteSessionHandle):  msg=" << msg.brief());
   mInviteSessionHandle = h->getSessionHandle();

   // First check if this INVITE is to replace an existing session
   if(msg.exists(h_Replaces))
   {
      pair<InviteSessionHandle, int> presult;
      presult = mDum.findInviteSession(msg.header(h_Replaces));
      if(!(presult.first == InviteSessionHandle::NotValid())) 
      {         

===================
Here always fail to  mDum.findInviteSession, the presult.first is equals to InviteSessionHandle::NotValid().

But when I test with sip2sip.info it works fine.


Best regards,





_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/