ICE Invite with problem (ICE-MISMATCH)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Benny Prijono wrote:
> On Wed, Sep 10, 2008 at 8:28 PM, Pedro Gon?alves 
> <pedro.pandre at gmail.com <mailto:pedro.pandre at gmail.com>> wrote:
>
>     Hi again!
>
>     With your help, I solved the other problems I was talking about.
>     However, I am now experiencing some problems when the answerer is
>     sending the initial answer.
>     Can you provide a similar description of the steps to perform, like in
>     your answer above?
>     At the moment I am doing the following:
>     pjsip_tx_data *tdata;
>     status = pjsip_inv_answer(SIPEngine::instance->g_inv, 200, NULL, NULL,
>     &tdata);
>     const pjmedia_sdp_session *remote_sdp;
>     status = pjmedia_sdp_neg_get_active_remote(inv->neg, &remote_sdp);
>     [steps similar to the ones you mentioned above]
>     status = pjsip_inv_send_msg(inv, tdata);
>     status = pjmedia_transport_media_start(my_transport, my_pool,
>     local_sdp,
>     remote_sdp, 0);
>
>     Note: the local_sdp is obtained in a similar way to the one you
>     described
>
>     Is this correct?
>
>
> Didn't we discussed this before? The principle is the same as I've 
> described, and for the rest have a look at PJSUA-LIB.
We have discussed this before for the caller, not for the answerer, in 
which I am having some problems ...
In the caller I have:

pjmedia_ice_create()
//wait for initialization
pjmedia_transport_get_info()
pjmedia_endpt_create_sdp()
pjmedia_transport_media_create()
pjmedia_transport_encode_sdp()
pjsip_inv_create_uac()
pjsip_inv_invite()
pjsip_inv_send_msg()

this works OK.
As you tell, I do have a similar procedure in the answerer:
pjsip_inv_answer()
pjmedia_ice_create()
//wait for initialization
pjmedia_transport_get_info()
pjmedia_endpt_create_sdp()
pjmedia_transport_media_create()
pjmedia_transport_encode_sdp()
pjsip_inv_send_msg()
pjmedia_transport_media_start()

However, even though the local SDP is correctly created and encoded with 
pjmedia_endpt_create_sdp() and pjmedia_transport_encode_sdp(), it is not 
included in the 200 OK answer!
As you can see in the log in attachment, at 12:26:56.327, the 200 OK 
answer hasn't the candidates.
That's why I am asking if the above procedure is OK, and probably it isn't.
I also told in a mail I sent after the one you answerer to that as I am 
calling pjsip_inv_answer(SIPEngine::instance->g_inv, 200, NULL, NULL, 
&tdata), this is, with no local_sdp (because I can't pass it to this 
function, as if I do a assert fails, telling me that the neg state is 
not PJMEDIA_SDP_NEG_STATE_REMOTE_OFFER), the local_sdp I created with 
pjmedia_endpt_create_sdp() is not used!

Does this have to do with the 180 answer that is sent previously? (180 
answer is being created with pjmedia_transport_udp_create(), and not 
with ICE's transports).

I'm sorry if my questions seem dull or stupid to you, but it's not easy 
to fully understand such a complex project as a PJSIP at a low level.

Many thanks
Pedro Gon?alves
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: PCCommunicator_SIP.log
Url: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080911/82a143e9/attachment-0001.log 


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux