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

Reply via email to