yesterday i played with di_dialer + announcement app and got it
working fine when callee was a sip ua that did not reply to invite with
183 session progress.
when i this morning tried with another callee that replied to invite
with 183, then it turned out that sems never passed the final 200 ok to
the announcement app.
my very simple announcement app is below. without 183 reply i get
"Session started" info message to syslog when 200 ok arrives, but not when
there has been 183 reply before 200 ok.
this is working case debug of 200 ok reply without earlier 183 reply:
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [onRxReply,
AmBasicSipDialog.cpp:443] DEBUG: onRxReply(rep = 200 OK): transaction found!
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setStatus,
AmBasicSipDialog.cpp:83] DEBUG: setting SIP dialog status: Early->Connected
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [onRxSdp,
AmOfferAnswer.cpp:211] DEBUG: entering onRxSdp(), oa_state=OfferSent
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [parse_sdp_line_ex,
AmSdp.cpp:561] DEBUG: parsing SDP message...
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [parse_sdp_connection,
AmSdp.cpp:782] DEBUG: SDP: got session level connection: IP4 192.26.111.29
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [parse_sdp_media,
AmSdp.cpp:925] DEBUG: SDP: got media: port 8038, payloads: 103 96
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [attr_check, AmSdp.cpp:1442]
DEBUG: unknown attribute: rtcp
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [attr_check, AmSdp.cpp:1442]
DEBUG: unknown attribute: ice-ufrag
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [attr_check, AmSdp.cpp:1442]
DEBUG: unknown attribute: ice-pwd
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [attr_check, AmSdp.cpp:1442]
DEBUG: unknown attribute: candidate
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [attr_check, AmSdp.cpp:1442]
DEBUG: unknown attribute: candidate
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setState,
AmOfferAnswer.cpp:69] DEBUG: setting SIP dialog O/A status:
OfferSent->Completed
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [onRxSdp,
AmOfferAnswer.cpp:254] DEBUG: oa_state: OfferSent -> Completed
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [onSdpCompleted,
AmSession.cpp:976] DEBUG: AmSession::onSdpCompleted(...) ...
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [init, AmRtpAudio.cpp:322]
DEBUG: AmRtpAudio::init(...)
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setPassiveMode,
AmRtpStream.cpp:549] DEBUG: Passive mode not activated.
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setRAddr,
AmRtpStream.cpp:475] DEBUG: RTP remote address set to x.x.x.x:(8038/8039)
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [init, AmRtpStream.cpp:719]
DEBUG: remote party supports telephone events (pt=96)
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [init, AmRtpStream.cpp:751]
DEBUG: default payload selected = 103
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setCurrentPayload,
AmRtpAudio.cpp:48] DEBUG: fmt.codec_id = 27
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setCurrentPayload,
AmRtpAudio.cpp:51] DEBUG: fmt.rate = 16000
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setCurrentPayload,
AmRtpAudio.cpp:53] DEBUG: fmt.advertized_rate = 16000
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [setInbandDetector,
AmDtmfDetector.cpp:212] DEBUG: Setting spandsp DTMF detector
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [ivr_log, Ivr.cpp:80] INFO:
Ivr-Python: Session started
Dec 20 10:52:14 box sems[10089]: [#7f9b272b8700] [IvrAudioFile_new,
IvrAudio.cpp:17] DEBUG: ---------- IvrAudioFile_alloc -----------
...
this is failing case debug of 200 ok with earlier 183 reply:
Dec 20 10:56:30 box sems[10089]: [#7f9b272b8700] [onRxReply,
AmBasicSipDialog.cpp:443] DEBUG: onRxReply(rep = 200 OK): transaction found!
Dec 20 10:56:30 box sems[10089]: [#7f9b272b8700] [setStatus,
AmBasicSipDialog.cpp:83] DEBUG: setting SIP dialog status: Early->Connected
Dec 20 10:56:30 box sems[10089]: [#7f9b272b8700] [onReplyIn,
AmOfferAnswer.cpp:179] DEBUG: ignoring subsequent SDP reply within the same
transaction
Dec 20 10:56:30 box sems[10089]: [#7f9b272b8700] [onReplyIn,
AmOfferAnswer.cpp:180] DEBUG: this usually happens when 183 and 200 have SDP
Dec 20 10:56:30 box sems[10089]: [#7f9b272b8700] [onInvite2xx,
AmB2BSession.cpp:610] DEBUG: req not fwded
...
is this because 183 replies are not supported by di_dialer app or is it
a bug in sems?
-- juha
---------------------------- announcement app
from log import *
from ivr import *
from p_app_param.p_app_param import *
class IvrDialog(IvrDialogBase):
def onSessionStart(self):
info("Session started")
self.file = "/var/lib/sems/wav/alarm.wav"
self.announcement = IvrAudioFile()
self.announcement.open(self.file, ivr.AUDIO_READ, False)
self.enqueue(self.announcement, None)
return
def onEmptyQueue(self):
if not self.queueIsEmpty():
return
self.bye()
self.stopSession()
return
def onBye(self):
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems