1 | изначальная версия редактировать | |
Коллеги,
Подключаюсь к провайдеру. Мне не дали логин с паролем, сказали только IP, настройки кодека и т.п. Сказали, чтобы я убрал строчку register из sip.conf. Ок. Вот моя конфигурация к провайдеру:
[beeline]
type=peer
trunkname=beeline
host=X.X.X.X
context=from-trunk
callbackextension=from-beeline
insecure=port,invite
disallow=all
allow = alaw
nat = no
directmedia = no
dtmfmode = rfc2833
qualify=yes
Тем не менее, при такой конфигурации и входящие и исходящие работают. Но я также вижу постоянно в консоли ошибку:
[May 5 10:44:47] NOTICE[19224]: chan_sip.c:15732 sip_reg_timeout: -- Registration for '@X.X.X.X' timed out, trying again (Attempt #2)
-- Got SIP response 503 "Service Unavailable" back from X.X.X.X:5060
Уже чего только не пробовал. Посоветуйте как быть? Как запретить отправку REGISTER? У меня asterisk-13.8.2, по заголовкам видно что у провайдера Cisco-SIPGateway/IOS-12.x. Перезагрузка Астера не помогает. Я так полагаю, что это проблема самого Asterisk 13, т.к. меня уверяют, что у всех такая же конфигурация работает на ура.
2 | No.2 Revision редактировать |
Коллеги,
Подключаюсь к провайдеру. Мне не дали логин с паролем, сказали только IP, настройки кодека и т.п. Сказали, чтобы я убрал строчку register из sip.conf. Ок. Вот моя конфигурация к провайдеру:
[beeline]
type=peer
trunkname=beeline
host=X.X.X.X
context=from-trunk
callbackextension=from-beeline
insecure=port,invite
disallow=all
allow = alaw
nat = no
directmedia = no
dtmfmode = rfc2833
qualify=yes
Тем не менее, при такой конфигурации и входящие и исходящие работают. Но я также вижу постоянно в консоли ошибку:
[May 5 10:44:47] NOTICE[19224]: chan_sip.c:15732 sip_reg_timeout: -- Registration for '@X.X.X.X' timed out, trying again (Attempt #2)
-- Got SIP response 503 "Service Unavailable" back from X.X.X.X:5060
Уже чего только не пробовал. Посоветуйте как быть? Как запретить отправку REGISTER? У меня asterisk-13.8.2, по заголовкам видно что у провайдера Cisco-SIPGateway/IOS-12.x. Перезагрузка Астера не помогает. Я так полагаю, что это проблема самого Asterisk 13, т.к. меня уверяют, что у всех такая же конфигурация работает на ура.
# grep -ir register /etc/asterisk
#
3 | сам решил редактировать |
Коллеги,
Подключаюсь к провайдеру. Мне не дали логин с паролем, сказали только IP, настройки кодека и т.п. Сказали, чтобы я убрал строчку register из sip.conf. Ок. Вот моя конфигурация к провайдеру:
[beeline]
type=peer
trunkname=beeline
host=X.X.X.X
context=from-trunk
callbackextension=from-beeline
insecure=port,invite
disallow=all
allow = alaw
nat = no
directmedia = no
dtmfmode = rfc2833
qualify=yes
Тем не менее, при такой конфигурации и входящие и исходящие работают. Но я также вижу постоянно в консоли ошибку:
[May 5 10:44:47] NOTICE[19224]: chan_sip.c:15732 sip_reg_timeout: -- Registration for '@X.X.X.X' timed out, trying again (Attempt #2)
-- Got SIP response 503 "Service Unavailable" back from X.X.X.X:5060
Уже чего только не пробовал. Посоветуйте как быть? Как запретить отправку REGISTER? У меня asterisk-13.8.2, по заголовкам видно что у провайдера Cisco-SIPGateway/IOS-12.x. Перезагрузка Астера не помогает. Я так полагаю, что это проблема самого Asterisk 13, т.к. меня уверяют, что у всех такая же конфигурация работает на ура.
# grep -ir register /etc/asterisk
#
UPDATE: проблему решил сам. Как и ожидалось, заглянув в исходники, стало ясно почему он регистрируется. Все из-за callbackextension, если он есть, chan_sip будет отправлять REGISTER провайдеру:
if (!ast_strlen_zero(peer->callback)) { /* build string from peer info */
char *reg_string;
if (ast_asprintf(®_string, "%s?%s:%s@%s/%s", peer->name, peer->user
name, !ast_strlen_zero(peer->remotesecret) ? peer->remotesecret : peer->secret, peer->
tohost, peer->callback) >= 0) {
sip_register(reg_string, 0); /* XXX TODO: count in registry_co
unt */
ast_free(reg_string);
}
}
В принципе, на этом sip-trunk-е я обойдусь без него, поэтому убрав его и перезагрузив Asterisk регистрации прекратились. Проблема решена.
4 | No.4 Revision редактировать |
Коллеги,
Подключаюсь к провайдеру. Мне не дали логин с паролем, сказали только IP, настройки кодека и т.п. Сказали, чтобы я убрал строчку register из sip.conf. Ок. Вот моя конфигурация к провайдеру:
[beeline]
type=peer
trunkname=beeline
host=X.X.X.X
context=from-trunk
callbackextension=from-beeline
insecure=port,invite
disallow=all
allow = alaw
nat = no
directmedia = no
dtmfmode = rfc2833
qualify=yes
Тем не менее, при такой конфигурации и входящие и исходящие работают. Но я также вижу постоянно в консоли ошибку:
[May 5 10:44:47] NOTICE[19224]: chan_sip.c:15732 sip_reg_timeout: -- Registration for '@X.X.X.X' timed out, trying again (Attempt #2)
-- Got SIP response 503 "Service Unavailable" back from X.X.X.X:5060
Уже чего только не пробовал. Посоветуйте как быть? Как запретить отправку REGISTER? У меня asterisk-13.8.2, по заголовкам видно что у провайдера Cisco-SIPGateway/IOS-12.x. Перезагрузка Астера не помогает. Я так полагаю, что это проблема самого Asterisk 13, т.к. меня уверяют, что у всех такая же конфигурация работает на ура.
# grep -ir register /etc/asterisk
#
UPDATE: проблему решил сам. Как и ожидалось, заглянув в исходники, стало ясно почему он регистрируется. Все из-за callbackextension, если он есть, chan_sip будет отправлять REGISTER провайдеру:провайдеру с Contact: <sip:from-beeline@myip:5060> для обратной связи:
if (!ast_strlen_zero(peer->callback)) { /* build string from peer info */
char *reg_string;
if (ast_asprintf(®_string, "%s?%s:%s@%s/%s", peer->name, peer->user
name, !ast_strlen_zero(peer->remotesecret) ? peer->remotesecret : peer->secret, peer->
tohost, peer->callback) >= 0) {
sip_register(reg_string, 0); /* XXX TODO: count in registry_co
unt */
ast_free(reg_string);
}
}
В принципе, на этом sip-trunk-е я обойдусь без него, поэтому убрав его и перезагрузив Asterisk регистрации прекратились. Проблема решена.
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.