在星号中播放 MOH 而不是铃声
Play MOH instead of ringtone in asterisk
我正在尝试播放音乐文件 ( MOH ) 而不是铃声。
这是我的 extention_custom.conf
[from-internal]
exten = _X.,1,Verbose(call from: ${CALLERID(num)} to ${EXTEN})
same = n,Dial(Local/${CALLERID(num)}@somewhere,100,g|m(tt))
我在 musiconhold_custom.conf:
中定义了 MOH class
[tt]
mode=files
directory=/var/lib/asterisk/moh/tt/
sort=alpha
有时它可以工作,我可以听到音乐而不是铃声,但有时它是无声的。
sip_custom.conf
[*****]
type=friend
secret=***
context=from-internal
username=****
host=***.***.***.***
allow=all
directmedia=yes
nat=yes
我不知道它是否有用,但是当我检查 pCap 文件时,两种情况下的一切都是一样的,但是当我能听到音乐时,有一条额外的线,它是:
SSRC changed from 0xC8F2189B/6305 to 0x1BEA4D36/8
尝试将 directmedia
更改为 no
。 SSRC 的变化可能表明 RTP 媒体正在从 asterisk 移交给端点。如果你不允许directmedia,那么asterisk会停留在中间(端点之间),并且总是可以播放moh。
请记住,这可能对您的网络拓扑有影响,但假设您的端点都在同一个带有 asterisk 的 LAN 上,并且您的 asterisk 服务器可以处理 RTP 流量,您不会看到太多变化。
我通过在我的代码的第一个添加原始铃声解决了这个问题
[from-internal]
exten = _X.,1,Verbose(call from: ${CALLERID(num)} to ${EXTEN})
same = n,Dial(Local/${CALLERID(num)}@somewhere,100,g|m(tt))
same = n,Ringing()
same = n,Wait(3)
我正在尝试播放音乐文件 ( MOH ) 而不是铃声。
这是我的 extention_custom.conf
[from-internal]
exten = _X.,1,Verbose(call from: ${CALLERID(num)} to ${EXTEN})
same = n,Dial(Local/${CALLERID(num)}@somewhere,100,g|m(tt))
我在 musiconhold_custom.conf:
中定义了 MOH class[tt]
mode=files
directory=/var/lib/asterisk/moh/tt/
sort=alpha
有时它可以工作,我可以听到音乐而不是铃声,但有时它是无声的。
sip_custom.conf
[*****]
type=friend
secret=***
context=from-internal
username=****
host=***.***.***.***
allow=all
directmedia=yes
nat=yes
我不知道它是否有用,但是当我检查 pCap 文件时,两种情况下的一切都是一样的,但是当我能听到音乐时,有一条额外的线,它是:
SSRC changed from 0xC8F2189B/6305 to 0x1BEA4D36/8
尝试将 directmedia
更改为 no
。 SSRC 的变化可能表明 RTP 媒体正在从 asterisk 移交给端点。如果你不允许directmedia,那么asterisk会停留在中间(端点之间),并且总是可以播放moh。
请记住,这可能对您的网络拓扑有影响,但假设您的端点都在同一个带有 asterisk 的 LAN 上,并且您的 asterisk 服务器可以处理 RTP 流量,您不会看到太多变化。
我通过在我的代码的第一个添加原始铃声解决了这个问题
[from-internal]
exten = _X.,1,Verbose(call from: ${CALLERID(num)} to ${EXTEN})
same = n,Dial(Local/${CALLERID(num)}@somewhere,100,g|m(tt))
same = n,Ringing()
same = n,Wait(3)