在 sipml5 调用 asterisk 期间可以听到 Early Media/Ringtone 吗?
Can Early Media/Ringtone be heard during sipml5 call to asterisk?
当我从使用 sipml5 注册的分机呼叫我的星号分机时。通话接通后我可以听到声音。但听不到 ringtone/early 媒体。
谁能想到在从 sipml5 注册分机呼叫 asterisk 时听到铃声。
总的来说,答案是肯定的。但是,您需要以某种形式从拨号方案中控制它。例如,让我们检查以下拨号方案:
exten => 1000,1,Noop(*** Starting call to extension 1000 ***)
same => n,Progress()
same => n,Wait(3)
same => n,Answer()
same => n,Wait(1)
same => n,Playback(demo-congrats)
same => n,hangup()
以上将在 Asterisk 端生成进度音并将它们发送到您的 SIPML 客户端。从 SIP 的角度来看,您希望生成 SIP 183,而不是 SIP 180。如果您直接通过 Asterisk 进行路由,从一个分机到另一个分机,您需要执行以下操作:
exten => 1000,1,Noop(*** Starting call to extension 1000 ***)
same => n,Dial(SIP/1000,45,r)
拨号的"r"参数会产生本地铃声。如果您拨打远程运营商,您应该执行以下操作:
exten => _NXXXXXX,1,Noop(*** Starting call to extension 1000 ***)
same => n,Dial(SIP/carrier/${EXTEN},45,R)
只要远程运营商还没有为早期媒体发送 SIP 183,就会导致 Asterisk 产生铃声。
通过编辑 sip conf 值可以在没有应答的情况下播放早期媒体。
1) 将“prematuremedia”参数设置为“no”
2) 将“progressinband”参数设置为'never'
然后在拨号计划开始时给出 Progress() 命令,然后是 Playback (demo-congrats,noanswer) 将在来电方播放音频。
当我从使用 sipml5 注册的分机呼叫我的星号分机时。通话接通后我可以听到声音。但听不到 ringtone/early 媒体。
谁能想到在从 sipml5 注册分机呼叫 asterisk 时听到铃声。
总的来说,答案是肯定的。但是,您需要以某种形式从拨号方案中控制它。例如,让我们检查以下拨号方案:
exten => 1000,1,Noop(*** Starting call to extension 1000 ***)
same => n,Progress()
same => n,Wait(3)
same => n,Answer()
same => n,Wait(1)
same => n,Playback(demo-congrats)
same => n,hangup()
以上将在 Asterisk 端生成进度音并将它们发送到您的 SIPML 客户端。从 SIP 的角度来看,您希望生成 SIP 183,而不是 SIP 180。如果您直接通过 Asterisk 进行路由,从一个分机到另一个分机,您需要执行以下操作:
exten => 1000,1,Noop(*** Starting call to extension 1000 ***)
same => n,Dial(SIP/1000,45,r)
拨号的"r"参数会产生本地铃声。如果您拨打远程运营商,您应该执行以下操作:
exten => _NXXXXXX,1,Noop(*** Starting call to extension 1000 ***)
same => n,Dial(SIP/carrier/${EXTEN},45,R)
只要远程运营商还没有为早期媒体发送 SIP 183,就会导致 Asterisk 产生铃声。
通过编辑 sip conf 值可以在没有应答的情况下播放早期媒体。
1) 将“prematuremedia”参数设置为“no” 2) 将“progressinband”参数设置为'never'
然后在拨号计划开始时给出 Progress() 命令,然后是 Playback (demo-congrats,noanswer) 将在来电方播放音频。