I have found another way to set audio codecs on UA start using Endpoint class codecSetPriority() method. It works. 2014-05-07 14:58 GMT+04:00 Maxim S <sipouser at gmail.com>: > Hello, > I am trying to develop UAC on pjsua2 library basis, windows 7 platform. > And I have a problem to set custom SDP offer in INVITE message. I used > onCallSdpCreated() virtual method to set PCMU/8000 and PCMA/8000 codecs > only: > > class MyCall : public Call > { > ... > virtual void onCallSdpCreated( OnCallSdpCreatedParam &prm ); > ... > }; > > void MyCall::onCallSdpCreated( OnCallSdpCreatedParam &prm ) > { > // ?hanging prm.sdp.wholeSdp string according to my codecs > prm.sdp.wholeSdp = ?v=0\r\n... > } > > This doesn?t work. In INVITE message I see initial automatically generated > SDP offer as before. > > It seems there are two variants. > > 1) It?s not enough to change prm.sdp.wholeSdp only.I need to do some more > actions to apply changes. If so, please, give me a hint what I should do. > > 2) It?s a bug. I used a debugger to see a call stack. Here it is > > MyCall.cpp: MyCall::onCallSdpCreated( OnCallSdpCreatedParam &prm ) > Endpoint.cpp: Endpoint::on_call_sdp_created(..., pjmedia_sdp_session *sdp, > ...) > Pjsua_media.c: pjsua_media_channel_create_sdp(..., pjmedia_sdp_session > **p_sdp,...) > Pjsua_call.c: on_make_call_med_tp_complete(...) > on_make_call_med_tp_complete() function sends INVITE message. But my > custom SDP offer is not available here. To get it available the signature > should be Endpoint::on_call_sdp_created (?, pjmedia_sdp_session **sdp, ?). > But this doesn?t solve the problem. The pointers to SDP string are not > valid because prm.sdp.wholeSdp string out of scope here. As soon as I made > OnCallSdpCreatedParam prm be static (just for experiment) in > Endpoint::on_call_sdp_created() my SIP UA sends SDP offer I want. > > Thank you > > Maxim S > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20140527/4dede31c/attachment.html>