Передача CallerID через 2 астериска

FreePBX, TrixBox, AsteriskGUI и др.
Всевозможные надстройки/интерфейсы к Asterisk в виде GUI.
[всё что прямо не относится к Asterisk писать сюда]

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

Ответить
yks
Сообщения: 5
Зарегистрирован: 26 мар 2010, 12:28

Передача CallerID через 2 астериска

Сообщение yks » 31 авг 2016, 11:20

Добрый день,
Схема: ( PBX -- шлюзE1-- *1 -- *2 -- телефон). При звонках с PBX надо на телефоне иметь CID звонящего. Но звонки проходят только в случае "Force Trunk CID" и всегда получаем CID = 2211. Не подскажете, как передать исходный CID?
Транки:
*1:

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

PEER  rsp
host=192.168.16.20
username=2211
secret=pwd1
type=peer
context=from-internal

USER 8288
type=user
secret=pwd2
context=from-internal
*2:

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

PEER  rb
host=192.168.16.141
username=8288
secret=pwd2
type=peer
context=from-internal

USER 2211
type=user
secret=pwd1
context=from-internal

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

Сообщение awsswa » 31 авг 2016, 13:43

Ну для таких действий прежде всего надо знать теорию
и прежде всего понять что вы посылаете в INVITE в сторону E1 и что E1 посылает в INVITE в сторону телефонов
поиграйте параметрами SendRPID - потом смотрите INVITE пакеты что посылается и где теряется
платный суппорт по мере возможностей

yks
Сообщения: 5
Зарегистрирован: 26 мар 2010, 12:28

Сообщение yks » 01 сен 2016, 05:22

[url=http://asteriskforum.ru/viewtopic.php?p=83436#83436][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] awsswa @ Ср Авг 31, 2016 17:43 писал(а):Ну для таких действий прежде всего надо знать теорию
и прежде всего понять что вы посылаете в INVITE в сторону E1 и что E1 посылает в INVITE в сторону телефонов
поиграйте параметрами SendRPID - потом смотрите INVITE пакеты что посылается и где теряется
С E1 все в порядке. На телефонах, подключенных к *1, CID имеется. Если не ставить FORCE TRUNK CID, он передается в *2, где звонок отбивается:
Connected to Asterisk 13.9.1 currently running on raspbx (pid = 1776)
[2016-09-01 09:01:26] WARNING[1865][C-00000004]: chan_sip.c:17091 check_auth: username mismatch, have <rb11_copy_2>, digest has <2211>
[2016-09-01 09:01:26] NOTICE[1865][C-00000004]: chan_sip.c:26125 handle_request_invite: Failed to authenticate device "8233" <sip:8233@192.168.16.141>;tag=as2ea5cc27

Задача еще проще. Не могу передать CID между двумя серверами астериск: (Аб1 -- *1 -- *2 -- Аб2), связь только с TRUNK CID. Где копать?

xelas
admin
Сообщения: 1143
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 01 сен 2016, 06:23

Первая * должна авторизовываться на второй. В вашем случае этого не происходит.

yks
Сообщения: 5
Зарегистрирован: 26 мар 2010, 12:28

Сообщение yks » 01 сен 2016, 06:28

[url=http://asteriskforum.ru/viewtopic.php?p=83438#83438][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] xelas @ Чт Сен 01, 2016 10:23 писал(а):Первая * должна авторизовываться на второй. В вашем случае этого не происходит.
Если я ставлю FORCE TRUNK CID, происходит. И CID у Аб2 соответственно транка, а не Аб1

xelas
admin
Сообщения: 1143
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 01 сен 2016, 06:38

Совершенно верно. Вы просто плохо представляете себе как происходит выбор пира и авторизация в астериск.
Когда вы включаете force cid у вас в INVITE идет From:вашузернаме, и астериск правильно может сматчить этот инвайт.
Когда вы передаете другой CID == этого не происходит, а происходит именно то, что у вас написано в логах:

[2016-09-01 09:01:26] WARNING[1865][C-00000004]: chan_sip.c:17091 check_auth: username mismatch, have <rb11_copy_2>, digest has <2211>
[2016-09-01 09:01:26] NOTICE[1865][C-00000004]: chan_sip.c:26125 handle_request_invite: Failed to authenticate device "8233" <sip:8233@192.168.16.141>;tag=as2ea5cc27

Попробуйте включить глобальную опцию: match_auth_username=yes

;match_auth_username=yes ; if available, match user entry using the
; 'username' field from the authentication line
; instead of the From: field.

april22
Сообщения: 422
Зарегистрирован: 02 июл 2012, 17:19

Сообщение april22 » 01 сен 2016, 06:45

Если ваши астериски в маршрутизируемой сети . зачем вообще всякие авторизации ?

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

host=Remote_AST
type=peer
context=from-Incoming
insecure=invite,port
qualify=yes
disallow=all
allow=alaw
canreinvite=no
полет нормальный.

yks
Сообщения: 5
Зарегистрирован: 26 мар 2010, 12:28

Сообщение yks » 01 сен 2016, 08:26

[url=http://asteriskforum.ru/viewtopic.php?p=83440#83440][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] xelas @ Чт Сен 01, 2016 10:38 писал(а):
Попробуйте включить глобальную опцию: match_auth_username=yes

;match_auth_username=yes ; if available, match user entry using the
; 'username' field from the authentication line
; instead of the From: field.
Супер! Получилось как надо. Пытаюсь добавить вам карму, не получается, попробую еще. Спасибо.

Ответить