k******t 发帖数: 163 | 1 asterisk 如何避免二个分机同时使用NONOH?
那位大侠有招? | r****t 发帖数: 10904 | 2 Some group limit can do it. Or set a global variable as a flag
and check the flag before dialing it.
【在 k******t 的大作中提到】 : asterisk 如何避免二个分机同时使用NONOH? : 那位大侠有招?
| k******t 发帖数: 163 | 3 [globals]
ZEROONEONE=NotInUse
[localphone-dial]
exten => _00XX.,1,GotoIf($["${ZEROONEONE}" == "NotInUse"]?:ZOOhangup)
exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="InUse")
exten => _00XX.,n,Dial(SIP/${EXTEN:2}@localphone,30)
exten => _00XX.,n,Playback(invalid)
exten => _00XX.,n,Hangup
exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="NotInUse")
exten => _00XX.,n(ZOOhangup),Hangup
但是到第3步以后就执行不下去,不知道何故? | r****t 发帖数: 10904 | 4 Did it work without the flag variable? Did it work if
Dial(SIP/...) is the only thing in [localphone-dial]?
What is in [localphone] context?
【在 k******t 的大作中提到】 : [globals] : ZEROONEONE=NotInUse : [localphone-dial] : exten => _00XX.,1,GotoIf($["${ZEROONEONE}" == "NotInUse"]?:ZOOhangup) : exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="InUse") : exten => _00XX.,n,Dial(SIP/${EXTEN:2}@localphone,30) : exten => _00XX.,n,Playback(invalid) : exten => _00XX.,n,Hangup : exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="NotInUse") : exten => _00XX.,n(ZOOhangup),Hangup
| k******t 发帖数: 163 | 5 exten => _00XX.,n,Dial(SIP/${EXTEN:2}@localphone,30)
成功,可以打电话。
可是Hangup后
exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="NotInUse")
不执行。 | r****t 发帖数: 10904 | 6 Try setting NotInUse before Hangup?
【在 k******t 的大作中提到】 : exten => _00XX.,n,Dial(SIP/${EXTEN:2}@localphone,30) : 成功,可以打电话。 : 可是Hangup后 : exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="NotInUse") : 不执行。
| k******t 发帖数: 163 | 7 改成:
[localphone-dialout]
exten => _00XX.,1,GotoIf($["${ZEROONEONE}" == "NotInUse"]?:ZOOhangup)
exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="InUse")
exten => _00XX.,n,Dial(SIP/${EXTEN:2}@localphone,30)
exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="NotInUse")
exten => _00XX.,n,Hangup
exten => _00XX.,n(ZOOhangup),Hangup
还是不工作:
== Using SIP RTP CoS mark 5
-- Executing [005555555@dial-10a:1] Dial("SIP/101-00000000", "LOCAL/
005555555@localphone-dialout/n") in new stack
-- Called 005555555@localphone-d | r****t 发帖数: 10904 | 8 http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial
# g: When the called party hangs up, exit to execute more commands in the
current context.
# G(context^exten^pri): If the call is answered, transfer both parties to
the specified context and extension. The calling party is transferred to
priority x, and the called party to priority x+1. This allows the dialplan
to distinguish between the calling and called legs of the call (new in v1.2).
# A(x): Play an announcement (x.gsm) to the called part
【在 k******t 的大作中提到】 : 改成: : [localphone-dialout] : exten => _00XX.,1,GotoIf($["${ZEROONEONE}" == "NotInUse"]?:ZOOhangup) : exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="InUse") : exten => _00XX.,n,Dial(SIP/${EXTEN:2}@localphone,30) : exten => _00XX.,n,Set(GLOBAL(ZEROONEONE)="NotInUse") : exten => _00XX.,n,Hangup : exten => _00XX.,n(ZOOhangup),Hangup : 还是不工作: : == Using SIP RTP CoS mark 5
| k******t 发帖数: 163 | 9 加g后正常通话可以工作,但是若我方没有接通就乱套。看来还是用GROUP,
谢谢repast (xebec)兄。 | r****t 发帖数: 10904 | 10 piii 前面有帖子里面用到了 superdial, google 一下就能找到代码,
那个里面综合了用 Group 限制的功能。
【在 k******t 的大作中提到】 : 加g后正常通话可以工作,但是若我方没有接通就乱套。看来还是用GROUP, : 谢谢repast (xebec)兄。
| | | k******t 发帖数: 163 | 11 repast兄,
用
Set(GROUP(E001)=OUTBOUND_GROUP_ONCE)
很简单,效果很好。 | r****t 发帖数: 10904 | 12 OUTBOUND_GROUP_ONCE 是啥?
【在 k******t 的大作中提到】 : repast兄, : 用 : Set(GROUP(E001)=OUTBOUND_GROUP_ONCE) : 很简单,效果很好。
| k******t 发帖数: 163 | 13 group效果很好。正常通话可以工作,我方没有拨通也工作。
exten => _00XX.,1,Set(GROUP(E001)=OUTBOUND_GROUP_ONCE)
exten => _00XX.,n,GotoIf($[${GROUP_COUNT(OUTBOUND_GROUP_ONCE@${E001})} > 1]?
BLOCK)
exten => _00XX.,n,Dial(SIP/${EXTEN}@localphone) | r****t 发帖数: 10904 | 14 OUTBOUND_GROUP_ONCE 需要有什么定义么?还是默认就有的?
E001 是随便改成别的也行么?
]?
【在 k******t 的大作中提到】 : group效果很好。正常通话可以工作,我方没有拨通也工作。 : exten => _00XX.,1,Set(GROUP(E001)=OUTBOUND_GROUP_ONCE) : exten => _00XX.,n,GotoIf($[${GROUP_COUNT(OUTBOUND_GROUP_ONCE@${E001})} > 1]? : BLOCK) : exten => _00XX.,n,Dial(SIP/${EXTEN}@localphone)
| k******t 发帖数: 163 | |
|