Назад | Перейти на главную страницу

Невозможно позвонить через звездочку

Я хочу создать службу VoIP. Я установил asterisk-1.4 на выделенный удаленно размещенный дистрибутив debian lenny. Я сделал sip.conf и extensions.conf, чтобы выполнить вызов между двумя sip-телефонами (я использую xlite 3.0), установленными на некоторых других компьютерах с Windows. всякий раз, когда я переключаю эти телефоны, консоль звездочки показывает, что «Регистрация из« 1000 »не удалась для« 122.168.10.254 »- одноранговый узел не должен регистрировать« Где xx.xx.xx.xx - это IP-адрес сервера », то есть мои sip-телефоны не могут зарегистрироваться на сервере звездочки. Помогите мне позвонить между двумя sip-телефонами.

 #sip show peers
Name/username              Host            Dyn Nat ACL Port     Status          
2000                       (Unspecified)    D          0        Unmonitored    
1000                       (Unspecified)    D          0        Unmonitored    
2 sip peers [Monitored: 0 online, 0 offline Unmonitored: 0 online, 2 offline]

# sip show registry
Host                            Username       Refresh State                Reg.Time

# sip show channels
Peer             User/ANR    Call ID      Seq (Tx/Rx)  Format           Hold     Last Message
0 active SIP channels

Sip.conf

 
[general]
context=default
bindport=5060
bindaddr=0.0.0.0

[1000]
secret=1000
type=friend
context=phones
host=dynamic

[2000]
secret=2000
type=friend
context=phones
host=dynamic

extension.conf

[general]
autofallthrough = yes
static = yes
writeprotect = no
clearglobalvars = yes

[default]
exten => s,1,Varbose(1|Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hangup()

[incoming_calls]

[internal]
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Echo()
exten => 500,n,Hangup()

exten => 1000,1,Verbose(1|Extension 1000)
exten => 1000,n,Dial(SIP/1000,30)
exten => 1000,n,Hangup()

exten => 2000,1,Verbose(1|Extension 2000)
exten => 2000,n,Dial(SIP/2000,30)
exten => 2000,n,Hangup()

[phones]
include => internal

Ваша проблема заключается в sip.conf. Убедитесь, что вы определяете имя пользователя для своего конечного устройства:

[2000]
username=2000
secret=2000
type=friend
context=phones
host=dynamic

Как вы упомянули в своем сообщении, публичный IP-адрес (что не является хорошей практикой). Это клиенты внутри LAN или вне WAN. Ваша машина находится за NAT или этот общедоступный IP установлен на вашем debian. Если да, проверьте, перенаправили ли вы порты 5060 и 5061 по всему маршрутизатору на звездочку.

Проверьте свой sip.conf - тип узла, вероятно, неправильный. Если вы разместите свой sip.conf, будет легче ответить.

Скорее всего, вам понадобится type = friend, но прочтите о различных настройках ..

Ошибка регистрации может быть, если вы указали адрес хоста для узла sip в sip.conf

Из http://www.voip-info.org/wiki/index.php?page=Asterisk+sip+type :
"Если сверстник определяется с помощью host = dynamic, разрешается зарегистрироваться в Asterisk, чтобы сообщить Asterisk, где он может быть найден (IP-адрес / имя хоста) и что с этого момента он доступен ».

Так что, если ваш определен как host = xx.xx.xx.xx, регистрация не нужна, так как он будет принимать только этот одноранговый узел по этому адресу.