Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Asterisk и трансфер с другой АТС

0

Привет!

Столкнулся с задачкой, вот ломаю логову решаю.

Есть Asterisk 1.8, телефонная станция tde600 и дружат они по SIP транку. Звонки туда обратно летают без проблем.

Есть номер 1332 принадлежащий tde, есть 6555 и 1788 принадлежащий Астериску. Если с 1332 сделать переадресацию на 1788, затем с 6555 набрать 1332, то вызов оборвется.

Астериск ругнется:

WARNING[30296]: chan_sip.c:14398 check_auth: username mismatch, have <6555>, digest has <SIP_MSK>
NOTICE[30296]: chan_sip.c:22521 handle_request_invite: Failed to authenticate device sip:6555@172.20.128.253;tag=26527

А все потому, что станция tde в хедер From: подставляет данные звонящего:

From: sip:6555@172.20.128.253;tag=26527

На что астериск говорит:

Found peer '6555' for '6555' from 172.20.128.251:35060

Затем заставляет пройти авторизацию и дает отбой:

SIP/2.0 401 Unauthorized
SIP/2.0 403 Forbidden

Выходит так, как будто tde пытается совершить вызов с sip аккаунта 6555, где установлен пароль, который она само собой не знает.

Транк:

[SIP_MSK]
context = tde600-in
host = 172.20.128.251
port = 35060
type = friend
disallow = all
allow = alaw
allow = ulaw
allow = g729
allow = gsm
dtmfmode = rfc2833
pickupgroup = 1
Callgroup = 1
canreinvite = yes
qualify = yes
nat = no
insecure = port,invite

Как решить данную проблему?

Update, добавил параметры sip:

[6555]
callerid = "Admin" <6555>
type = friend
context = phones
host = dynamic
deny = 0.0.0.0/0.0.0.0
permit = 172.20.0.0/255.252.0.0
permit = 192.168.62.0/255.255.255.0
permit = 192.168.53.0/255.255.255.0
pickupgroup = 1
callgroup = 1
canreinvite = no
language = ru
qualify = yes
nat = yes
secret = 7986
transport = udp
dtmfmode = rfc2833
cc_agent_policy=generic
cc_monitor_policy=generic

Дебаг: скачать

удалить закрыть спам изменить тег редактировать

спросил 2015-04-23 10:03:10 +0400

dad495 Gravatar dad495
1 1 2

обновил 2015-04-27 18:51:40 +0400

Comments

Если требуется авторизации , то где имя пользователя и пароль?

zzuz ( 2015-04-23 11:19:17 +0400 )редактировать

Он пытается под 6555 авторизоваться, там пароль установлен. Failed to authenticate device sip:6555@172.20.128.253

dad495 ( 2015-04-23 13:18:02 +0400 )редактировать

В вопросе нет пира с указанной авторизацией.

zzuz ( 2015-04-23 13:20:34 +0400 )редактировать

Добавил sip параметры пира. У 1788 тоже самое.

dad495 ( 2015-04-23 14:10:12 +0400 )редактировать

у 6555 есть пароль , но где имя пользователя?

zzuz ( 2015-04-23 15:27:50 +0400 )редактировать

6555 это сип учетка для устройства, 6555 сответственно и есть логин.

dad495 ( 2015-04-23 16:17:13 +0400 )редактировать

название пира != имя пользователя .

zzuz ( 2015-04-23 18:47:11 +0400 )редактировать

а у вас между астериском и tde600 сколько sip каналов?

zavulon ( 2015-04-23 20:11:26 +0400 )редактировать

32 канала, расширяли лицензиями. zzuz, поясните пожалуйста к чему мысль ваша ведет?

dad495 ( 2015-04-24 12:10:16 +0400 )редактировать

Моя мысль ведет к тому , что для 6555 нет директивы username .

zzuz ( 2015-04-24 13:47:30 +0400 )редактировать

Я всегда думал что username нужно только чтобы в INVITE вместо имени сип учетки прописывать параметр из username. В моем случае что это даст, не подскажите?

dad495 ( 2015-04-24 14:47:05 +0400 )редактировать

voip-info читаю как библию. Прежде чем задать вопрос я естественно пытался сам решить. Username пробовал использовать, прописывал имя учетки sip, пробовал имя транка SIP MSK. Все равно не работает. Только fromuser = SIP MSK работает, но tde номер определяет как SIP_MSK. Это не подходит.

dad495 ( 2015-04-24 18:02:51 +0400 )редактировать

Если читаете , то должны понимать , как перевести строку WARNING[30296]: chan_sip.c:14398 check_auth: username mismatch, have &lt;6555&gt;, digest has &lt;SIP_MSK&gt;

zzuz ( 2015-04-24 19:03:16 +0400 )редактировать

Итак, я решил проблему! А нехватало параметра в sip.conf general matchauthusername = yes, который говорит астериску использовать для авторизации username из строки авторизации вместо поля From:, а там как раз tde передает username=SIP_MSK, авторизация проходит а вместе с ней и переадресация. Всем спасибо за внимание. Надеюсь кому-нибудь поможет.

dad495 ( 2015-04-28 11:15:30 +0400 )редактировать

Будьте первым, кто ответит на этот вопрос!

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2015-04-23 10:03:10 +0400

Просмотрен: 274 раз

Обновлен: Apr 27 '15

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.