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

Re: [reSIProcate-users] Bug of the v1.7


Now I attached the wireshark trace file and resiprocate log in email.
 
My test case is:
 
1:  Run my App(built base on resip 1.7) on PC a, and register to server as 101.
2:  Make call to 106 and the call is established.
3.  Hold the 106 from 101.
4:  Make call to 105 and the call is established.
5:  Click a button of my App, in this button event, I do: hold 105 and un-hold the 106.
 
After these steps, the 106 still in hold state - I'm expect the 106 will be un-hold, in the wireshark trace, we can't found the INVITE message of un-hold 106, seems it does not sent out by resip.
 
Same code same test case, the 1.6 resip works fine.
 
 
I have attached the logs in email, please help.
 
Thanks
 


 
On Wed, Jun 29, 2011 at 5:06 PM, Karlsson <boost.regex@xxxxxxxxx> wrote:
I'm sure I found a bug with the v1.7,

I'm implemented the hold and unhold feature with resip as below code:


void UserAgent::hold(long callID, const SdpContents & sdpContent)
{
    try
    {
        ServerInviteSessionMap::iterator iter = mServerInviteSessionMap.find(callID);
        if (iter != mServerInviteSessionMap.end())
        {
            iter->second->provideOffer(sdpContent);
           
            return;
        }

        ClientInviteSessionMap::iterator iter2 = mClientInviteSessionMap.find(callID);
        if (iter2 != mClientInviteSessionMap.end())
        {
            iter2->second->provideOffer(sdpContent);
        }

    }
    catch (...)
    {
    }

}


void UserAgent::unHold(long callID, const resip::SdpContents & sdpContent)
{

    try
    {
        ServerInviteSessionMap::iterator iter = mServerInviteSessionMap.find(callID);
        if (iter != mServerInviteSessionMap.end())
        {
            iter->second->provideOffer(sdpContent);

            return;
        }

        ClientInviteSessionMap::iterator iter2 = mClientInviteSessionMap.find(callID);
        if (iter2 != mClientInviteSessionMap.end())
        {
            iter2->second->provideOffer(sdpContent);
        }
    }
    catch (...)
    {
    }
}


in my APP it has a button to switch two sessions:

CPhoneAppDlg::OnButton1()
{
   hold(line1);
  unhold(line2);
}


These code are works fine with the resip 1.6 and early versions, but with the 1.7, in the wireshark, I can't found the INVITE message of the "unhold(line2);", seems the resip does not sent out INVITE message of "unhold(line2);

All other codes are same, just if use the DLL and header files with 1.6 then all are works if use the 1.7 then got this bug, please check.

Thanks





--
havesoftware, Inc.


Jakson Kalsson
Senior Programmer








--
havesoftware, Inc.
http://www.havesoftware.com


Jakson Kalsson
Senior Programmer
jakkalsoon@xxxxxxxxxxxxxxxx





Attachment: logs.zip
Description: Zip archive