2014-01-06 2 views
1

меня Звездочка 11.7.0 настроен на CentOS 6.4 x64 со следующими sip.conf конфигурации:Звездочка исходящий вызов не удается

[general] 
register =>mynumber:[email protected] 
registertimeout=20 
context=incoming 
allowoverlap=no 
bindport=5060 
bindaddr=192.168.0.3 
srvlookup=no 
subscribecontext=from-sip 

; The SIP provider 
[VoIPProvider] 
canreinvite=no 
username=mynumber 
fromuser=mynumber 
secret=mypass 
context=incoming 
type=friend 
fromdomain=xxx.xxx.xxx.xxx 
;host=xxx.xxx.xxx.xxx 
dtmfmode=rfc2833 
disallow=all 
allow=alaw 
allow=ulaw 
nat=yes 
insecure=very 

; ext 100 
[100] 
type=friend 
host=dynamic 
secret=MyPass123 
context=internal 
[email protected] 
callgroup=1 
pickupgroup=1 
dtmfmode=rfc2833 
canreinvite=no 

; ext 200 
[200] 
type=friend 
host=dynamic 
secret=MyPass123 
context=internal 
callgroup=1 
pickupgroup=1 
dtmfmode=rfc2833 
canreinvite=no 

И следующий extensions.conf:

[incoming] 
; Ring on extension 100, 200 and the mobile phone. 
exten => s,1,Answer() 
exten => s,n,Dial(SIP/100&SIP/200&SIP/VoIPProvider/*320423456789,150,r,t,) 

; Pass unanswered call to a mobile phone 
exten => s,n,Dial(SIP/VoIPProvider/*320423456789,150,r) 

; Still not answered? Pass unanswered calls to voicemail 
exten => s,n,Voicemail(100,u) 
exten => s,n,Hangup 

[outgoing] 
exten => _XXXXXXXXXXXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN}) 
exten => _XXXXXXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN}) 
exten => _XXXXXX,1,Dial(SIP/VoIPProvider/${EXTEN}) 

[internal] 
exten => _XXX,1,Dial(SIP/${EXTEN}) 

; Calls to ext 100 
exten => 100,1,Dial(SIP/100,20) 
exten => 100,n,VoiceMail(100,u) 
exten => 100,n,Hangup 

; Calls to ext 200 
exten => 200,1,Dial(SIP/100,20) 
exten => 200,n,Hangup 

Когда я пытаюсь набрать мой номер мобильного телефона от IP-телефон Я вижу следующий вывод в Asterisk CLI:

-- Executing [[email protected]:1] Dial("SIP/XXX-00000002", "SIP/VoIPProvider/XXXXXXXXX") in new stack 

WARNING[19884][C-00000003]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent) 

== Everyone is busy/congested at this time (1:0/0/1) 
-- Auto fallthrough, channel 'SIP/XXX-00000002' status is 'CHANUNAVAIL' 

Теперь я знаю, что означает cause 20 - Subscriber absent, но я точно знаю, что мой номер мобильного телефона существует и доступен, потому что, когда я набираю номер IP-телефона с мобильного телефона (входящий звонок), он работает.

Любые предложения?

ответ

1

Я не могу видеть, как запись VoIPProvider может использоваться для исходящего вызова, поскольку у нее нет поля «хозяина», и поэтому Asterisk не будет знать, куда должен быть отправлен SIP-вызов.

Попробуйте создать новую запись в sip.conf под названием «VoIPProvider_Outgoing» или аналогичный и раскомментировать поле хоста. Затем в вашем extensions.conf замените «VoIPProvider» на «VoIPProvider_Outgoing».

+0

Спасибо, я думаю, что это будет работать сейчас, я попробую его на завтра так как у меня нет доступа к телефонам VOIP напрямую, и я проверяю консоль на пульте дистанционного управления. Ошибка в консоли исчезла, поэтому я думаю, что это был точный совет. – astralmaster

+0

Теперь он не работает. Может быть, я должен вводить разные значения в host и fromdomain? – astralmaster

-1

Пожалуйста, добавьте свой исходящий контекст в контекст пользовательского набора.

как под внутренним:

включают = исходящее или включают = исходящее

это означает то же самое в Asterisk

+0

Я не думаю, что пробелы имеют значение в сценариях звездочки. он будет работать, если вы будете писать без пробелов. –

Смежные вопросы