Два SIP пира на одном IP adress:port

Для начинающих.
Всем начинающим - сюда.

Модераторы: Admins, Модераторы

Ответить
A66aT
Сообщения: 7
Зарегистрирован: 13 апр 2017, 07:38

Два SIP пира на одном IP adress:port

Сообщение A66aT » 20 сен 2017, 13:25

Добрый день Столкнулся со следующей проблемой Есть два Астериска - сервер и клиент На сервер выделено два экстеншена для клиента

Код: Выделить всё

[1234] 
disallow=all 
allow=ulaw 
allow=alaw 
type=peer 
host=dynamic 
context=first_trunk 
qualify=yes 
rtpkeepalive=5 
secret=secret

[4321] 
disallow=all 
allow=ulaw 
allow=alaw 
type=peer 
host=dynamic 
context=second_trunk 
qualify=yes 
rtpkeepalive=5 
secret=secret2
Также имеются два контекста

Код: Выделить всё

[first_trunk]
exten => _X.,1,NoOp(first)
exten => _X.,2,Dial(SIP/vendor_trunk/10${EXTEN})

[second_trunk]
exten => _X.,1,NoOp(second)
exten => _X.,2,Dial(SIP/vendor_trunk/20${EXTEN})
Сделано это чтобы разделить биллинг первого транка и второго. Теперь вопрос, когда от клиента приходит звонок с первого транка, все хорошо, а вот когда со второго, то пишет следующую ошибку

Код: Выделить всё

&#91;2017-09-20 14&#58;32&#58;12&#93; WARNING&#91;19421&#93;&#91;C-0001d90e&#93;&#58; chan_sip.c&#58;17079 check_auth&#58; username mismatch, have <1234>, digest has <4321>
&#91;2017-09-20 14&#58;32&#58;12&#93; NOTICE&#91;19421&#93;&#91;C-0001d90e&#93;&#58; chan_sip.c&#58;26124 handle_request_invite&#58; Failed to authenticate device "9999999999" <sip&#58;9999999999@client_ip_adress>;tag=as704203c9
99999999999 - для примера, номер вызываемого абонента, т.е. наш ${EXTEN}

Если во втором транке прописать

Код: Выделить всё

insecure = invite
то все звонки приходят в контекст [second_trunk], и соответственно, разделение биллинга не происходит. От клиента в CallerID приходит номер, который подчтавляется для исходящей связи (это реализовано скриптом), т.е. опцию fromuser поставить не получится.

Подскажите, пожалуйста, где ошибка ?

Homer
Сообщения: 40
Зарегистрирован: 24 июл 2009, 12:58

Сообщение Homer » 20 сен 2017, 15:15

Не уверен, но возможно вот это поможет:
sip.conf:
match_auth_username=yes ; if available, match user entry using the 'username' field from the authentication line instead of the From: field.

A66aT
Сообщения: 7
Зарегистрирован: 13 апр 2017, 07:38

Сообщение A66aT » 20 сен 2017, 16:46

[url=http://asteriskforum.ru/viewtopic.php?p=85191#85191][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] Homer @ Ср Сен 20, 2017 15:15 писал(а):Не уверен, но возможно вот это поможет:
sip.conf:
match_auth_username=yes ; if available, match user entry using the 'username' field from the authentication line instead of the From: field.
Увы, не помогло. там проблема именно в том, что Астер пытается авторизировать входящий Инвайт по другому "Экстеншену

awsswa
Сообщения: 1721
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 20 сен 2017, 19:42

Может пойти по простому пути - делить билинг по префиксу ?
платный суппорт по мере возможностей

Yur4ek
Сообщения: 128
Зарегистрирован: 25 май 2010, 11:06

Сообщение Yur4ek » 21 сен 2017, 09:46

Это фича астериска, он определяет транк по комбинации IP:PORT а так как они одинаковые, то для него все звонки выглядят одним и тем же. Можно попробывать настроить по TCP, тогда насколько я помню астериск-клиент будет для каждого транка одельное tcp соеденение создавать.

A66aT
Сообщения: 7
Зарегистрирован: 13 апр 2017, 07:38

Сообщение A66aT » 21 сен 2017, 11:12

[url=http://asteriskforum.ru/viewtopic.php?p=85193#85193][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] awsswa @ Ср Сен 20, 2017 19:42 писал(а):Может пойти по простому пути - делить билинг по префиксу ?
Можно, но для этого нужно иметь доступ к клиентской машине и переписать логику установки CallerID, а с этим большие проблемы, увы

Added after 1 minutes:
[url=http://asteriskforum.ru/viewtopic.php?p=85196#85196][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] Yur4ek @ Чт Сен 21, 2017 09:46 писал(а):Это фича астериска, он определяет транк по комбинации IP:PORT а так как они одинаковые, то для него все звонки выглядят одним и тем же. Можно попробывать настроить по TCP, тогда насколько я помню астериск-клиент будет для каждого транка одельное tcp соеденение создавать.
Увы, я вот как раз и пытаюсь решить проблему, что все екстеншены на одном порту видятся как один.
Посоветовали попробовать через Remote-Party-ID

Попробую - отпишусь

Аватара пользователя
Zavr2008
Сообщения: 534
Зарегистрирован: 19 июл 2013, 00:12
Контактная информация:

Сообщение Zavr2008 » 23 сен 2017, 04:17

просто пропишите type=friend
http://mh.otx.ru SIP/E1 шлюзы Alvis, Добавь E1 к Asterisk, Проапгрейди Заказчику TDA/LDK!
спец цены

Ответить