Webrtc sipml5呼叫asterisk时能否听到早期媒体/铃声?

Webrtc sipml5呼叫asterisk时能否听到早期媒体/铃声?,webrtc,asterisk,Webrtc,Asterisk,当我从使用sipml5注册的分机呼叫我的星号分机时。当电话接通时,我能听到音频。但无法听到铃声/早期媒体 从sipml5注册分机呼叫asterisk时,是否有人能听到铃声。一般来说,答案是肯定的。但是,您需要以某种形式从拨号计划控制它。例如,让我们检查以下拨号计划: exten => 1000,1,Noop(*** Starting call to extension 1000 ***) same => n,Progress() same => n,Wa

当我从使用sipml5注册的分机呼叫我的星号分机时。当电话接通时,我能听到音频。但无法听到铃声/早期媒体


从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()
以上内容将在星号侧生成进度音,并将其发送到您的SIPML客户端。从SIP的角度来看,您希望生成SIP 183,而不是SIP 180。如果直接通过星号从一个分机传送到另一个分机,则需要执行以下操作:

exten => 1000,1,Noop(*** Starting call to extension 1000 ***)
same  =>      n,Dial(SIP/1000,45,r)
exten => _NXXXXXX,1,Noop(*** Starting call to extension 1000 ***)
same  =>      n,Dial(SIP/carrier/${EXTEN},45,R)
要拨打的r参数将生成本地铃声。如果您拨打的是远程运营商,则应执行以下操作:

exten => 1000,1,Noop(*** Starting call to extension 1000 ***)
same  =>      n,Dial(SIP/1000,45,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参数设置为“否” 2将progressinband参数设置为“从不”


然后在拨号计划开始时发出进度命令,随后播放演示恭喜,noanswer将在呼叫方播放音频。

在播放前发出进度命令(无应答参数),将不会播放音频。在无应答参数的情况下更改播放时,默认应答参数将播放音频,但呼叫将显示已连接状态。如果正确,则进程将指示星号生成所需的180/183,指示远程主机发出本地铃声。如果没有生成这些信息(这对于第一次设置为应答的情况是正常的),则不会有铃声。