0

我的星号项目需要帮助。

我已经使用星号为我的公司设置了 ivr。服务器配置为:星号 10.0

  • 数字TE121
  • 来自印度信赖通信公司的 E1 PRI。

我的问题是,当有人拨打我的 ivr 号码时,他/她将根据他们提供的 dtmf 输入转接到手机/固定电话号码。

当我将它重定向到固定电话号码时,完美检测到忙/无应答状态并且正在设置 dialstatus 变量。但是,当我将其重定向到手机号码时,未检测到忙状态,并且 Asterisk 将其显示为响铃,直到达到拨号超时。

问题是,在印度的固定电话号码上,音调是由国际电信当局定义的,并且会立即发出。但在手机号码上,接线员会先播放语音文件而不是忙音。然后在大约 20 秒后发出忙音。所以 Asterisk 不会检测到手机号码上的忙音。

因此,如果有解决此问题的技术或路径,请告诉我。是否有任何使用 AFI/AMI 脚本的解决方案,然后它将被应用。

我的 ivr 拨号方案如下所示: 我已因隐私问题更改了分机号码。

exten => _2121212,1,GotoIfTime(10:00-19:00,mon-sat,*,*?2121212,2:2121212,4)
exten => _2121212,2,Background(ive1new)
exten => _2121212,3,WaitExten(15)

exten => _2121212,4,Playback(officehours1)
exten => _2121212,5,WaitExten(3)
exten => _2121212,6,Goto(3090700,4)

exten => 0,1,Dial(DAHDI/g2/<mobilenumber here>,30)
exten => 0,2,Goto(2121212-${DIALSTATUS},1)

exten => 1,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 1,n,Goto(2121212-${DIALSTATUS},1)

exten => 2,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 2,n,Goto(2121212-${DIALSTATUS},1)

exten => 3,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 3,n,Goto(2121212-${DIALSTATUS},1)

exten => 9,1,Goto(2121212,2)

exten => 2121212-NOANSWER,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 2121212-NOANSWER,2,hangup()

exten => 2121212-BUSY,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 2121212-BUSY,2,hangup()

exten => 2121212-CONGESTION,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 2121212-CONGESTION,2,hangup()

exten => 2121212-CHANUNAVAIL,1,Dial(DAHDI/g2/<mobilenumber here>,20,r)
exten => 2121212-CHANUNAVAIL,2,hangup()
4

2 回答 2

1

您可以使用 AGI 来执行此操作,只需拨打设置超时的号码并检查拨号状态是否为 statis !=ANSWER 切换到另一个分机或拨打另一个号码

于 2012-09-21T09:20:51.107 回答
0

我的理解是忙音之前的噪音(包括语音)并不重要,所以我想知道问题是否在于忙音根本不是通常的音调,而是有不同的音调或时间,因此它们不是检测到。我很确定我居住的移动提供商会发生这种情况。

在 chan_dahd.conf 文件中有一个名为“busypattern”的变量,您可以使用它。我

于 2013-08-24T23:56:25.940 回答