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

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

0

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

[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})

Сделано это чтобы разделить биллинг первого транка и второго. Теперь вопрос, когда от клиента приходит звонок с первого транка, все хорошо, а вот когда со второго, то пишет следующую ошибку

[2017-09-20 14:32:12] WARNING[19421][C-0001d90e]: chan_sip.c:17079 check_auth: username mismatch, have <1234>, digest has <4321>
[2017-09-20 14:32:12] NOTICE[19421][C-0001d90e]: chan_sip.c:26124 handle_request_invite: Failed to authenticate device "9999999999" <sip:9999999999@client_ip_adress>;tag=as704203c9

99999999999 - для примера, номер вызываемого абонента, т.е. наш ${EXTEN}

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

insecure = invite

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

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

спросил Sep 20 '17

A66aT Gravatar A66aT
29 15 10

обновил Sep 20 '17

Comments

А 1234 и 4321 зарегистрированы на вашем сервере ?

zzuz (Sep 20 '17)edit

Да, оба номера прописаны на клиентском Астере в register =>

A66aT (Sep 21 '17)edit

2 Ответа

0

Используйте Remote-Party-ID для передачи CallerID, пропишите fromuser и уберите insecure = invite

На сервере:

trustrpid=yes

На клиенте:

sendrpid=yes
ссылка удалить спам редактировать

ответил Sep 21 '17

Olpag Gravatar Olpag
2024 3 6 30

Comments

Спасибо за совет, попробую - отпишусь.

Только вопрос, разве для Remote-Party-ID нужно поле fromuser оставлять ?

A66aT (Sep 21 '17)edit

fromuser и fromdomain меняют поля From и Contact в SIP-запросе INVITE. Если используете эти поля в процессе аутентификации, тогда - да, надо использовать fromuser.

Olpag (Sep 21 '17)edit
0

Если все так сложно, то insecure и смотрите from поле в контексте, по нему разделяйте.

Но вообще так работает.

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

ответил Sep 21 '17

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

там, к сожалению, у меня доступа к серверу нет, скриптом подставляется CallerID (num) и (name), В поле from проставляется то же. что и в CallerID, а если клиент не выбирает номер для подставления, то пакет приходит с from = "Anonymous"

A66aT (Sep 21 '17)edit

это все беспредметно. вы администратор или погулять вышли? если администратор, где дебаг? если погулять - ищите администратора.

meral (Sep 21 '17)edit

Ваш ответ

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 ленту новостей

Статистика

Задан: Sep 20 '17

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

Обновлен: Sep 21 '17

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