Hello Stefan, Finally I am able to hear sound using precoded_announce application. I had to set advertised_sample_rate equal to sample_rate in order to have correct bit rate in 200 OK SDP. But still i think something is wrong. I hear fast forwarded voice. I am using a .ulaw file downloaded from Asterisk site. In mailing list i see mention of some bug related to incorrect packet size (Where we do not have codec plugin) but they all seem like 4-5 years old messages. Are those bugs still there?
Thanks & Regards, John On Mon, Oct 6, 2014 at 6:28 PM, John Nash <[email protected]> wrote: > I reviewed couple of other posts related to precoded announce application > and whoever faced an issues hit a dead end. Is precoded app stable ? > > On Sat, Oct 4, 2014 at 12:29 PM, John Nash <[email protected]> wrote: > >> I wanted to give a try to existing precoded_announce app to see what is >> going on and found that SDP codec bitrate is wrong in 200 OK generated by >> SEMS in that also. >> v=0 >> o=sems 1947846174 1398121587 IN IP4 31.193.168.250 >> s=sems >> c=IN IP4 31.193.168.250 >> t=0 0 >> m=audio 40000 RTP/AVP 18 >> a=rtpmap:18 G729/124 >> a=sendrecv >> a=direction:both >> >> My predef file is like below >> # format: >> # codec id;payload name;samplerate;channels;format parameters;frame >> milliseconds;frame bytes;filename (full path) >> # >> # to create e.g. .gsm file: >> # sox test.wav -r 8000 -c 1 -g test8k.gsm >> # >> 18;G729;8000;1;<none>;20;20;dirintro.g729; >> >> >> >> Complete debug just before 200 OK relay is.. (I do not see any problem in >> this log) >> >> [#7f1c95bcc700/16565] [handle_sip_request, SipCtrlInterface.cpp:782] >> DEBUG: body-ct = <application/sdp> >> [#7f1c95bcc700/16565] [handleSipMsg, AmSipDispatcher.cpp:105] DEBUG: >> method: `INVITE' [6]. >> [#7f1c95bcc700/16565] [AmSession, AmSession.cpp:86] DEBUG: dlg = (nil) >> [#7f1c95bcc700/16565] [RTPStream, AmSession.h:619] DEBUG: creating RTP >> stream instance for session [0x7f1c70002a80] >> [#7f1c95bcc700/16565] [setLocalTag, AmSession.cpp:226] DEBUG: >> AmSession::setLocalTag() - session id set to >> 669F7FD4-542F99690003415D-95BCC700 >> [#7f1c95bcc700/16565] [handle_sip_request, SipCtrlInterface.cpp:788] >> DEBUG: ^^ M [6c76c8cc9b1a4814bc9c909bcbd14a99|] Ru SIP request INVITE >> handled ^^ >> [#7f1c95272700/16574] [_start, AmThread.cpp:65] DEBUG: Thread >> 139760738182912 is starting. >> [#7f1c95272700/16574] [run, AmSession.cpp:264] DEBUG: startup session >> [#7f1c95272700/16574] [run, AmSession.cpp:268] DEBUG: running session >> event loop >> [#7f1c95272700/16574] [processingCycle, AmSession.cpp:373] DEBUG: vv S >> [|669F7FD4-542F99690003415D-95BCC700] Disconnected, running, 0 >> UACTransPending, 0 usages vv >> [#7f1c95272700/16574] [process, AmSession.cpp:659] DEBUG: AmSession >> processing event >> [#7f1c95272700/16574] [onRxRequest, AmBasicSipDialog.cpp:304] DEBUG: >> AmBasicSipDialog::onRxRequest(req = INVITE) >> [#7f1c95272700/16574] [onRequestIn, Am100rel.cpp:32] DEBUG: 100rel now >> active. >> [#7f1c95272700/16574] [setOutboundInterface, AmBasicSipDialog.cpp:148] >> DEBUG: setting outbound interface to 0 >> [#7f1c95272700/16574] [setStatus, AmBasicSipDialog.cpp:84] DEBUG: >> setting SIP dialog status: Disconnected->Trying >> [#7f1c95272700/16574] [onRxSdp, AmOfferAnswer.cpp:215] DEBUG: entering >> onRxSdp(), oa_state=None >> [#7f1c95272700/16574] [parse_sdp_line_ex, AmSdp.cpp:562] DEBUG: parsing >> SDP message... >> [#7f1c95272700/16574] [parse_sdp_media, AmSdp.cpp:926] DEBUG: SDP: got >> media: port 30640, payloads: 18 96 >> [#7f1c95272700/16574] [parse_sdp_connection, AmSdp.cpp:787] DEBUG: SDP: >> got media level connection: IP4 31.193.168.250 >> [#7f1c95272700/16574] [attr_check, AmSdp.cpp:1445] DEBUG: unknown >> attribute: rtcp >> [#7f1c95272700/16574] [setState, AmOfferAnswer.cpp:69] DEBUG: setting >> SIP dialog O/A status: None->OfferRecved >> [#7f1c95272700/16574] [onRxSdp, AmOfferAnswer.cpp:265] DEBUG: oa_state: >> None -> OfferRecved >> [#7f1c95272700/16574] [onSipRequest, AmSession.cpp:709] DEBUG: >> onSipRequest: method = INVITE >> [#7f1c95272700/16574] [updateRefreshMethod, AmSession.cpp:1058] DEBUG: >> remote allows UPDATE, using UPDATE for session refresh. >> [#7f1c95272700/16574] [reply, AmBasicSipDialog.cpp:579] DEBUG: reply: >> transaction found! >> [#7f1c95272700/16574] [getSdpAnswer, AmSession.cpp:911] DEBUG: >> AmSession::getSdpAnswer(...) ... >> [#7f1c95272700/16574] [setLocalIP, AmRtpStream.cpp:103] DEBUG: ip = >> 31.193.168.250 >> [#7f1c95272700/16574] [setLocalPort, AmRtpStream.cpp:215] DEBUG: added >> stream [0x7f1c95273010] to RTP receiver (31.193.168.250:40000/40001) >> [#7f1c95272700/16574] [setState, AmOfferAnswer.cpp:69] DEBUG: setting >> SIP dialog O/A status: OfferRecved->Completed >> [#7f1c95272700/16574] [setStatus, AmBasicSipDialog.cpp:84] DEBUG: >> setting SIP dialog status: Trying->Connected >> [#7f1c95272700/16574] [patch_contact_transport, trans_layer.cpp:160] >> DEBUG: contact: <<sip:192.168.112.5:5080>> >> [#7f1c95272700/16574] [parse_sip_uri, parse_uri.cpp:338] DEBUG: >> Converted URI port (5080) to int (5080) >> [#7f1c95272700/16574] [send_reply, trans_layer.cpp:410] DEBUG: >> reply_len = 868 >> [#7f1c95272700/16574] [is_opt_set, transport.cpp:76] DEBUG: >> trsp_socket::socket_options = 0x0 >> [#7f1c95272700/16574] [is_opt_set, transport.cpp:76] DEBUG: >> trsp_socket::socket_options = 0x0 >> [#7f1c95272700/16574] [send_reply, trans_layer.cpp:585] DEBUG: Sending >> to 192.168.112.5:9090 <SIP/2.0 200 OK >> Record-Route: <sip:192.168.112.5:9...> >> >> >> >> >> On Fri, Oct 3, 2014 at 9:44 AM, John Nash <[email protected]> wrote: >> >>> I have created playFile_precoded function in DSMCall.cpp (As it looked >>> just like playFile()) In this file i do not see sc_sess passed from core >>> (Thought i can see DSMCall inherits DSMSession). However in some modules I >>> can see use of transferOwnership(). >>> >>> Is it possible to get sc_sess in DSMCall.cpp?..Or it will be a good idea >>> to create one new DSM module? Regarding creating modules I could not find >>> any tutorial also. >>> >>> >>> >>> >>> >>> On Thu, Oct 2, 2014 at 5:55 PM, Stefan Sayer <[email protected]> >>> wrote: >>> >>>> John, >>>> >>>> John Nash wrote on 09/30/2014 07:06 AM: >>>> > I think i would need your help in this. I am facing issues while >>>> > trying to play .g729 file (I pasted function definition below). Looks >>>> > like line "file_def->getFileInstance(RTPStream()->getPayloadType());" >>>> > returns null value. I made sure g729 file is there in the path (For >>>> > test I am using a asterisk demo file). It also crashes after showing >>>> > error.. This is what my debug output is.. >>>> >>>> if you allocate the precoded_file instance on the stack, it's >>>> destroyed after the function call to DSMCall::playFile_precoded >>>> returns. you need to create a new object with >>>> 'new' and hand it over with sc_sess->transferOwnership(...) to the >>>> session. >>>> >>>> >>>> what does RTPStream()->getPayloadType() return? is that codec >>>> registered? >>>> >>>> Stefan >>>> >>>> >>> >> >
_______________________________________________ Sems mailing list [email protected] http://lists.iptel.org/mailman/listinfo/sems
