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