[reSIProcate] Does this is a SdpContents bug ?
Karlsson
boost.regex at gmail.com
Sun Jun 22 23:12:18 CDT 2008
Sorry, please ignor my email, this is my mistake.
thanks
On Sun, Jun 22, 2008 at 9:58 PM, Karlsson <boost.regex at gmail.com> wrote:
> Hi, I really think this is a bug, but no anyone reproduce it?
>
> When I received an UPDATE request, onOffer will be fired:
>
> void UserAgent::onOffer(InviteSessionHandle h, const SipMessage& msg, const
> SdpContents& sdpContent)
> *
> Then parese the SDP, use this code to access the codecs:*
>
> const SdpContents * sdp = dynamic_cast<SdpContents *>(msg.getContents());
>
> list<SdpContents::Session::Medium>::const_iterator mediaiter =
> sdp->session().media().begin();
> for (; mediaiter!=sdpContent->session().media().end(); ++mediaiter)
> {
> if (utility.compareStringNoCase(mediaiter->name().c_str(), "audio")
> == 0)
> {
> list<SdpContents::Session::Codec>::const_iterator codecIter =
> mediaiter->codecs().begin();
>
> for (; codecIter!=mediaiter->codecs().end(); ++codecIter)
> {
> AudioCodec codec;
> codec.setCodecName(codecIter->getName().c_str());
> <---------------*I always got the PCMU codec first*
> codec.setRemoteTypeValue(codecIter->payloadType());
>
>
> audioCodecList.push_back(codec);
> }
>
> }
>
> *I always got the PCMU codec first. But I use this code not saw the PCMU
> in the sdp contents:*
>
> Data sdptext = Data::from(*sdp);
> ::MessageBoxA(NULL, sdptext.c_str(), "test", MB_ICONINFORMATION);
> <----------- this not shows the PCMU in SDP
>
>
> Please help me ,thanks.
>
>
>
>
>
> On Thu, Jun 19, 2008 at 6:33 PM, Karlsson <boost.regex at gmail.com> wrote:
>
>> Also, I'm using 1.31.
>>
>>
>>
>> On Thu, Jun 19, 2008 at 5:33 PM, Karlsson <boost.regex at gmail.com> wrote:
>>
>>> Sorry, there have a mistake, please ignore my previous email.
>>>
>>> *The attachment it's log file.*
>>>
>>>
>>> 1: A called B with GSM codec, B answered call with GSM.
>>>
>>> 2: Now A want to using G729, Update invite with G729 only(for this UPDATE
>>> mesage, the SDP just inclued the G729 only).
>>> 3: B received this UPDATE invite message, then parse the SDP:
>>>
>>> list<SdpContents::Session::Medium>::const_iterator mediaiter =
>>> sdpContent->session().media().begin();
>>>
>>> Data sdptext = Data::from(*sdpContent);
>>> ::MessageBoxA(NULL, sdptext.c_str(), "test", MB_ICONINFORMATION);
>>> *// This message shows the SDP just has G729 only.*
>>>
>>>
>>> AudioCodec DTMFCodec;
>>>
>>> for (; mediaiter!=sdpContent->session().media().end(); ++mediaiter)
>>> {
>>> if (compareStringNoCase(mediaiter->name().c_str(), "audio") == 0)
>>> {
>>> mRemoteAudioPort = mediaiter->port();
>>> list<SdpContents::Session::Codec>::const_iterator codecIter =
>>> mediaiter->codecs().begin();
>>>
>>> for (; codecIter!=mediaiter->codecs().end(); ++codecIter)
>>> {
>>> AudioCodec codec;
>>> codec.setCodecName(codecIter->getName().c_str()); *// <------------- But at here, I got the PCMU first when I received each
>>> UPDATE INVITE, after PCMU, then got the G729,
>>> // the **mediaiter->codecs() inclued two codecs(always PCMU first)*
>>>
>>> codec.setRemoteTypeValue(codecIter->payloadType());
>>>
>>>
>>> audioCodecList.push_back(codec);
>>> }
>>>
>>> }
>>>
>>> And I have captured the SIP message by wireshark, it's shows the UPDATE
>>> invite message SDP just inclued G729 codec only, but when I using the mediaiter->codecs()
>>> to
>>> access the codecs, always got the PCMU first. This issue just appears
>>> with UPDATE invite message, with INVITE message, it's normal.
>>>
>>> please help me, thank you in advance.
>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20080623/a616d8b9/attachment.htm>
More information about the resiprocate-devel
mailing list