通过星号更改来电中的来电号码

时间:2014-07-03 05:32:55

标签: asterisk voip ivr

我正在使用星号。我有DID,其中4个号码被映射(存储在我的数据库中),因此当用户呼叫该DID号码时,呼叫被转发到映射到该号码的任何一个号码。 我的问题是,当用户通过DID编号而不是用户号码拨打DID时,四个主管接收呼叫中的一个。这是我的拨号方案代码的一部分,呼叫从另一个上下文(下面未给出)路由到直接上下文< / p>

[direct]
exten => start,1,noop(######START######)
same => n,mysql(Query resultid ${connid} SELECT number from database);;;DDDDDD
same => n,MYSQL(Fetch fetchid ${resultid} number )
same => n,mysql(clear ${resultid})
same => n,set(__NUMBER=${number})
same => n,dial(DAHDI/g0/0${NUMBER},20,mM(ANSWEREDED))


[macro-ANSWEREDED]
exten => s,1,noop(CALL_ANSWERED)
exten => s,n,Mixmonitor(/recordings/record.wav)

如何将执行号码(DID上映射的号码)上闪烁的号码更改为来电号码? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

1)每个星号书都有例子。不用读书就做星号编码 - 不太好主意

2)callerid可以像这样设置

same => n,set(__NUMBER=${number})
same => n,set(CALLERID(num)=123445678)
same => n,dial(DAHDI/g0/0${NUMBER},20,mM(ANSWEREDED))

3)如果你使用pstn dahdi连接(FXO卡),那将无效。如果您使用数字连接,它可以在提供商支持时使用。

4)app_mysql的使用已被删除。使用func_odbc或realtime。

5)在调用宏中使用mixmonitor是极其糟糕的做法。使用mixmonitor与&#39;&#39;呼叫前的选项。