如何路由到不同的分机
How to route to different extensions
我是 asterisk 的新手,我想做一个简单的路由工作
我已经配置 asterisk 有 3 个 sip ddi 号码
低于sip.conf:
[0001]
type=peer
fromuser=4420XXXX0001
host=X.X.X.X
dtmfmode=rfc2833
canreinvite=no
insecure=invite
context=default
[0002]
type=peer
fromuser=4420XXXX0002
host=X.X.X.X
dtmfmode=rfc2833
canreinvite=no
insecure=invite
context=default
[0003]
type=peer
fromuser=4420XXXX0003
host=X.X.X.X
dtmfmode=rfc2833
canreinvite=no
insecure=invite
context=default
目前,如果我打电话,我总是使用第一个 DDI 4420XXXX0001,这是第一个分机号码
低于extensions.conf
[default]
;Outgoing Number 0001
exten => _44.,1,Noop(CALLERID:${CALLERID})
exten => _44.,n,Set(CALLERID(all)="My Name"<+4420XXXX0001>)
exten => _44.,n,Dial(SIP/+${EXTEN:2}@0001)
exten => _44.,n,Hangup
;Outgoing Number 0002
exten => _44.,1,Noop(CALLERID:${CALLERID})
exten => _44.,n,Set(CALLERID(all)="My Name"<+4420XXXX0002>)
exten => _44.,n,Dial(SIP/+${EXTEN:2}@0002)
exten => _44.,n,Hangup
;Outgoing Number 0003
exten => _44.,1,Noop(CALLERID:${CALLERID})
exten => _44.,n,Set(CALLERID(all)="My Name"<+4420XXXX0003>)
exten => _44.,n,Dial(SIP/+${EXTEN:2}@0003)
exten => _44.,n,Hangup
我怎样才能路由它以使用不同的线路和不同的来电显示
对于我觉得难以解释的命名约定,我深表歉意
谢谢
请阅读任何星号书籍。本书开头的这一主题,真的
如何平衡树干有很多可能的变体。例如这个是随机平衡3条中继。
[gate];начальный контекст
exten => _7XXXXXXXXXX,1,Set(num=${EXTEN})
exten => _7XXXXXXXXXX,2,Goto(gate_variants,${RAND(1,6)},1)
[gate_variants];все допустимые варианты
exten => 1,1,Set(DO=1-2-3)
exten => 2,1,Set(DO=1-3-2)
exten => 3,1,Set(DO=2-1-3)
exten => 4,1,Set(DO=2-3-1)
exten => 5,1,Set(DO=3-1-2)
exten => 6,1,Set(DO=3-2-1)
exten => _[1-6],2,goto(s,1)
exten => s,1,Set(i=0); делаем цикл(я это не писал, это у меня стандартная заготовка ;) )
exten => s,n(loop),Set(i=$[ i + 1]) ; смотрим по номеру
exten => s,n,Set(do_now=${CUT(DO,-,${i}) ; берем и-тый номер.
exten => s,n,GotoIF($[ "${do_now}" == "" ]?end); номера кончилися ((
exten => s,n,Dial(IAX2/manager${do_now}/${num},,g) ; звоним
exten => s,n,Goto({DIALSTATUS},1); проверяем результат
exten => s,n(end),Hangup; больше нет номеров
exten => BUSY,1,Goto(s,loop); повторяем
exten => CONGESTION,1,Goto(s,loop)
exten => FAIL,1,Goto(s,loop)
exten => NOANSWER,1,Goto(s,loop)
exten => ANSWER,1,Hangup;это не повторям, вроде дозвонилися.
exten => ANSWERED,1,Hangup
http://asterisk-support.ru/question/13916/dialplan-balansirovka-i-tsikl-mezhdu-trankami/#19951
我是 asterisk 的新手,我想做一个简单的路由工作
我已经配置 asterisk 有 3 个 sip ddi 号码
低于sip.conf:
[0001]
type=peer
fromuser=4420XXXX0001
host=X.X.X.X
dtmfmode=rfc2833
canreinvite=no
insecure=invite
context=default
[0002]
type=peer
fromuser=4420XXXX0002
host=X.X.X.X
dtmfmode=rfc2833
canreinvite=no
insecure=invite
context=default
[0003]
type=peer
fromuser=4420XXXX0003
host=X.X.X.X
dtmfmode=rfc2833
canreinvite=no
insecure=invite
context=default
目前,如果我打电话,我总是使用第一个 DDI 4420XXXX0001,这是第一个分机号码
低于extensions.conf
[default]
;Outgoing Number 0001
exten => _44.,1,Noop(CALLERID:${CALLERID})
exten => _44.,n,Set(CALLERID(all)="My Name"<+4420XXXX0001>)
exten => _44.,n,Dial(SIP/+${EXTEN:2}@0001)
exten => _44.,n,Hangup
;Outgoing Number 0002
exten => _44.,1,Noop(CALLERID:${CALLERID})
exten => _44.,n,Set(CALLERID(all)="My Name"<+4420XXXX0002>)
exten => _44.,n,Dial(SIP/+${EXTEN:2}@0002)
exten => _44.,n,Hangup
;Outgoing Number 0003
exten => _44.,1,Noop(CALLERID:${CALLERID})
exten => _44.,n,Set(CALLERID(all)="My Name"<+4420XXXX0003>)
exten => _44.,n,Dial(SIP/+${EXTEN:2}@0003)
exten => _44.,n,Hangup
我怎样才能路由它以使用不同的线路和不同的来电显示
对于我觉得难以解释的命名约定,我深表歉意
谢谢
请阅读任何星号书籍。本书开头的这一主题,真的
如何平衡树干有很多可能的变体。例如这个是随机平衡3条中继。
[gate];начальный контекст
exten => _7XXXXXXXXXX,1,Set(num=${EXTEN})
exten => _7XXXXXXXXXX,2,Goto(gate_variants,${RAND(1,6)},1)
[gate_variants];все допустимые варианты
exten => 1,1,Set(DO=1-2-3)
exten => 2,1,Set(DO=1-3-2)
exten => 3,1,Set(DO=2-1-3)
exten => 4,1,Set(DO=2-3-1)
exten => 5,1,Set(DO=3-1-2)
exten => 6,1,Set(DO=3-2-1)
exten => _[1-6],2,goto(s,1)
exten => s,1,Set(i=0); делаем цикл(я это не писал, это у меня стандартная заготовка ;) )
exten => s,n(loop),Set(i=$[ i + 1]) ; смотрим по номеру
exten => s,n,Set(do_now=${CUT(DO,-,${i}) ; берем и-тый номер.
exten => s,n,GotoIF($[ "${do_now}" == "" ]?end); номера кончилися ((
exten => s,n,Dial(IAX2/manager${do_now}/${num},,g) ; звоним
exten => s,n,Goto({DIALSTATUS},1); проверяем результат
exten => s,n(end),Hangup; больше нет номеров
exten => BUSY,1,Goto(s,loop); повторяем
exten => CONGESTION,1,Goto(s,loop)
exten => FAIL,1,Goto(s,loop)
exten => NOANSWER,1,Goto(s,loop)
exten => ANSWER,1,Hangup;это не повторям, вроде дозвонилися.
exten => ANSWERED,1,Hangup
http://asterisk-support.ru/question/13916/dialplan-balansirovka-i-tsikl-mezhdu-trankami/#19951