我订购了 Skype Connect,并且我想将 Skype Connect 与我的 Elastix 服务器集成以处理来电和拨出电话。
我通过 GUI 创建了新的 SIP 中继,信息如下:
Incoming Settings
[skype_in]
disallow=all
type=friend
username=sipusername
fromdomain=sip.skype.com
fromuser=sipusername
realm=sip.skype.com
host=sip.skype.com
dtmfmode=rfc2833
secret=sipuserpass
nat=yes
insecure=invite
qualify=yes
allow=alaw
allow=ulaw
amaflags=default
trustrpid=no
sendrpid=yes
context=from-trunk-sip-Skype_out
Outgoing Settings :
[Skype_out]
context=from-trunk-sip-Skype_out
Register String:
SIPUSER:[email protected]
传入通话正常。
我尝试拨打 00448717893642 和 448717893642 以获取伦敦语音时钟和许多其他号码,但呼出电话不工作,它一直说(无法完成拨号)
拨号后的 Elastix 日志
[Jul 17 01:01:25] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:1] ResetCDR("SIP/100-00000010", "") in new stack
[Jul 17 01:01:25] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:2] NoCDR("SIP/100-00000010", "") in new stack
[Jul 17 01:01:25] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:3] Progress("SIP/100-00000010", "") in new stack
[Jul 17 01:01:25] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:4] Wait("SIP/100-00000010", "1") in new stack
[Jul 17 01:01:26] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:5] Progress("SIP/100-00000010", "") in new stack
[Jul 17 01:01:26] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:6] Playback("SIP/100-00000010", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
[Jul 17 01:01:26] VERBOSE[3501] file.c: -- <SIP/100-00000010> Playing 'silence/1.gsm' (language 'en')
[Jul 17 01:01:27] VERBOSE[3501] file.c: -- <SIP/100-00000010> Playing 'cannot-complete-as-dialed.gsm' (language 'en')
[Jul 17 01:01:29] VERBOSE[3501] file.c: -- <SIP/100-00000010> Playing 'check-number-dial-again.gsm' (language 'en')
[Jul 17 01:01:32] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:7] Wait("SIP/100-00000010", "1") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [448717893642@from-internal:8] Congestion("SIP/100-00000010", "20") in new stack
[Jul 17 01:01:33] WARNING[3501] channel.c: Prodding channel 'SIP/100-00000010' failed
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: == Spawn extension (from-internal, 448717893642, 8) exited non-zero on 'SIP/100-00000010'
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [h@from-internal:1] Macro("SIP/100-00000010", "hangupcall") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:1] GotoIf("SIP/100-00000010", "1?endmixmoncheck") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,9)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:9] NoOp("SIP/100-00000010", "End of MIXMON check") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:10] GotoIf("SIP/100-00000010", "1?nomeetmemon") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,28)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:28] NoOp("SIP/100-00000010", "End of MEETME check") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:29] GotoIf("SIP/100-00000010", "1?noautomon") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,34)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:34] NoOp("SIP/100-00000010", "TOUCH_MONITOR_OUTPUT=") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:35] GotoIf("SIP/100-00000010", "1?noautomon2") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,41)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:41] NoOp("SIP/100-00000010", "MONITOR_FILENAME=") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:42] GotoIf("SIP/100-00000010", "1?skiprg") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,45)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:45] GotoIf("SIP/100-00000010", "1?skipblkvm") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,48)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:48] GotoIf("SIP/100-00000010", "1?theend") in new stack
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Goto (macro-hangupcall,s,50)
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: -- Executing [s@macro-hangupcall:50] Hangup("SIP/100-00000010", "") in new stack
[Jul 17 01:01:33] VERBOSE[3501] app_macro.c: == Spawn extension (macro-hangupcall, s, 50) exited non-zero on 'SIP/100-00000010' in macro 'hangupcall'
[Jul 17 01:01:33] VERBOSE[3501] pbx.c: == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/100-00000010'
我是否需要对传入和传出设置进行任何修改才能正常工作?
答案1
你没有说明你是如何拨打电话的,所以我建议你参考Skype Connect 文档,其中写道:
E.164(国家代码和国内号码),所有通话的国际号码格式
很可能您没有发送国家代码。这是所有 Skype Connect 拨出电话所必需的。
因此,如果您想拨打伦敦时钟,您可以发送:
448717893642
拨打美国号码,例如宾夕法尼亚州 6-5000,您将发送:
12127365000
+
可能您还需要在数字开头包含符号,例如:
+44871893642
通过谷歌搜索,你还需要在您的 Skype 帐户资料中明确允许拨出电话。由于我无法猜测的原因,此功能似乎默认被禁用。
答案2
我通过添加解决了我的问题
exten => _00X.,1, Answer
exten => _00X.,n, Set(CALLERID(num)=ID) ;
exten => _00X.,n, Dial(SIP/${EXTEN}@Skype_out)
exten => _00X.,n, Hangup
进入 extensions.conf