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