0

我有两个连接到星号的加密狗。通话路由正常。这是我遇到问题的短信/ussd。如何将每个加密狗的短信/ussd 转发到不同的电子邮件地址?目前,来自两个加密狗的短信都被转发到一个电子邮件地址。

以下是我在extensions_custom.conf中的当前配置

[from-trunk-dongle]
exten => sms,1,Verbose(Incoming SMS from ${CALLERID(num)} ${BASE64_DECODE(${SMS_BASE64})})
exten => sms,n,System(echo "To: abc@xyz.com\nSubject: Incoming SMS from ${CALLERID(num)}\n\n${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME} - ${CALLERID(num)}: " > /tmp/sms.txt)
exten => sms,n,Set(FILE(/tmp/sms.txt,,,a)=${BASE64_DECODE(${SMS_BASE64})})
exten => sms,n,System(sendmail -t < /tmp/sms.txt)
exten => sms,n,Hangup()

exten => ussd,1,Verbose(Incoming USSD: ${BASE64_DECODE(${USSD_BASE64})})
exten => ussd,n,System(echo '${STRFTIME(${EPOCH},,%Y-%m-%d %H:%M:%S)} - ${DONGLENAME}: ${BASE64_DECODE(${USSD_BASE64})}' >> /var/log/asterisk/ussd.txt)
exten => ussd,n,Hangup()

exten => _.,1,Set(CALLERID(name)=${CALLERID(num)})
exten => _.,n,Goto(from-trunk,${EXTEN},1)

以下是我在dongle.conf中的当前配置

[dongle0]
exten=+15141234567               ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid)
audio=/dev/ttyUSB1              ; tty port for audio connection;        no default value
data=/dev/ttyUSB2               ; tty port for AT commands;             no default value

[dongle1]
exten=+14161234567               ; exten for start incoming calls, only in case of Subscriber Number not available!, also set to CALLERID(ndid)
audio=/dev/ttyUSB4              ; tty port for audio connection;        no default value
data=/dev/ttyUSB5               ; tty port for AT commands;             no default value

是否可以在 [from-trunk-dongle] 中为每个加密狗单独设置,然后根据它来自的加密狗/sim 转发 sms/ussd(路由到每个电子邮件地址)。

谢谢

4

1 回答 1

0

最简单的方法(对于初学者) - 每个设置上下文名称创建不同的上下文。

或检查 CONTEXT 变量。

更复杂的方法 - 使用 DumpChan 并查看差异或重写 chan_dongle 以将加密狗的名称放入变量中。

于 2020-08-06T07:29:18.640 回答