2014-01-02 2 views
1

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

[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 

Всякий раз, когда я набираю мой номер с мобильного телефона I получить сигнал отклонения. Когда я проверяю журнал Wireshark я вижу три SIP пакетов:

MySipProvider -> Me: ПРИГЛАШАЕМ глотнуть: [email protected]: 5060 Me -> MySipProvider: 401 Несанкционированное MySipProvider -> Me: ACK глотка: s @ 192.168.0.3:5060

и все это есть. Что может случиться? Спасибо.

ответ

1

Похоже, ваш сервер Asterisk запрашивает аутентификацию при входящем звонке от вашего провайдера. Мое предположение о том, почему это связано с тем, что значение «хоста» на вашей записи «VoIPProvider» в вашем sip.conf соответствует IP-адресу, из которого пришел вызов. Вы можете проверить, является ли это проблемой, временно комментируя значение «хост» и видя, работает ли входящий вызов. Если это так, вам нужно будет внести изменения в запись «VoIPProvider», чтобы она соответствовала исходящим вызовам, а не входящим и исходящим (вы использовали это, установив «тип», но я не обновляюсь по пути это сделано сейчас).

+0

Я сделал так, и входящие звонки в настоящее время не вызывает проблем, теперь есть еще одна проблема: - Выполнение [XXXXXXXXX @ исходящее: 1] циферблата ("SIP/XXX-00000002", «SIP/VoIPProvider/XXXXXXXXX ") в новом стеке [4 янв. 08:17:48] ПРЕДУПРЕЖДЕНИЕ [19884] [C-00000003]: app_dial.c: 2437 dial_exec_full: невозможно создать канал типа« SIP »(причина 20 - абонент отсутствует) == Каждый занят/перегружено в это время (1: 0/0/1) - Авто проваливаются, канал 'SIP/XXX-00000002' статус '' CHANUNAVAIL локальных * CLI> это означает, что когда я звоню где-то, командная строка пишет этот текст и заканчивает концы ... любые предложения? спасибо. – astralmaster

0

использование регистра строки, как это: регистр => urusername: urpassword @ IPaddress/ProviderName

, как в вашем случае:

Регистр => MyNumber: мойпароль @ XXXX/VoIPProvider

дать его a go ithink, это решит проблему :)

1

Чтобы решить исходящую проблему, пользовательский контекст во внутреннем и исходящем не входит в него, добавьте следующую строку в контексте internal в extension.conf

[внутренний] включают = исходящее

, так что пользователи могут набрать в багажнике SIP. :)

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