Страница 1 из 3

Передача названия канала через транк

Добавлено: 01 сен 2017, 00:43
dembel
Добрый день.

Столкнулся с такой проблемой:
Имеется 2 сервера с Asterisk к одному из них подключена E1 плата на которую приходят все звонки, на другом такой платы нет. При звонке на сервер с платой некоторые номера необходимо перенаправить на второй сервер. С этим проблем нет. Но проблема в том, что при входящем звонке на первом сервере имя канала выглядит так (DAHDI/i1/89999999999-000000) а вот на втором сервере он выглядит так (SIP/trunk-000000). Так вот вопрос как сделать что бы на втором сервере в имени канала был номер звонящего? примерно так (SIP/trunk/89999999999-000000). Варианты с CallerID не предлагать. Есть 1С с модулем телефонии которая определяет абонента по названию канала а не callerID.

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 06:35
virus_net
определение номера по имени канала это тупик.
передавайте привет пОграммистам

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 08:00
awsswa
В канале не сменить но ... никто не запрещает не трогая CallerID передать название отдельным полем в INVITE с началом на X-
курить: INVITE X- нестандартные поля свои поля

Вариант два:
Перейти на сторонний перекодировщих
Kamailio OpenSIP Yate
в которых поля можно поменять на что угодно
вот примерно - https://forum.asterisk.ru/viewtopic.php?f=7&t=7153

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 08:33
dembel
virus_net писал(а):определение номера по имени канала это тупик.
передавайте привет пОграммистам
Уже передал :).

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 09:05
whoim

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 09:59
ded
AddHeader - ненужные пляски.
awsswa писал(а): Вариант два:
Варианта три.
Третий - соединить сервера по IAX2 и забыть про эти проблемы.

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 13:12
dembel
Соединил сервера по IAX, звонок не проходит.
iax2 show registry
Host dnsmgr Username Perceived Refresh State
хх.хх.хх.хх:4569 N trunk <Unregistered> 60 Timeout
1 IAX2 registrations.
перезагружаю модуль chan_iax регистрация проходит после чего опять тот же результат.

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 13:23
ded
Когда сервера соединяют - то звонок проходит. Когда звонок не проходит - значит ошибка, не соединены. <Unregistered> ни о чём не говорит?
tcpdump host XXXX and port 4569 на обоих концах что говорит?
iax2 set debug on что говорит?

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 13:38
dembel
Сервер который регистрируется:
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00015ms SCall: 00709 DCall: 00000 [XX.XX.XX.XX:4569]
USERNAME : trunk
REFRESH : 60

Tx-Frame Retry[001] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00015ms SCall: 00709 DCall: 00000 [XX.XX.XX.XX:4569]
USERNAME : trunk
REFRESH : 60

dump:

13:35:51.794576 IP ZZ.ZZ.ZZ.ZZ.4569 > XX.XX.XX.XX.4569: UDP, length 25
13:35:51.795153 IP XX.XX.XX.XX.4569 > ZZ.ZZ.ZZ.ZZ.4569: UDP, length 65
13:35:53.793835 IP ZZ.ZZ.ZZ.ZZ.4569 > XX.XX.XX.XX.4569: UDP, length 25
13:35:53.794363 IP XX.XX.XX.XX.4569 > ZZ.ZZ.ZZ.ZZ.4569: UDP, length 65



Сервер на котором регистрируется:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00015ms SCall: 00709 DCall: 00000 [ZZ.ZZ.ZZ.ZZ:4569]
USERNAME : trunk
REFRESH : 60

Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: CTOKEN
Timestamp: 00015ms SCall: 00001 DCall: 00709 [ZZ.ZZ.ZZ.ZZ:4569]
CALLTOKEN : 51 bytes

asterisk*CLI>
Rx-Frame Retry[Yes] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00015ms SCall: 00709 DCall: 00000 [ZZ.ZZ.ZZ.ZZ:4569]
USERNAME : trunk
REFRESH : 60

Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: CTOKEN
Timestamp: 00015ms SCall: 00001 DCall: 00709 [ZZ.ZZ.ZZ.ZZ:4569]
CALLTOKEN : 51 bytes

dump:
13:40:02.025126 IP ZZ.ZZ.ZZ.ZZ.4569 > XX.XX.XX.XX.4569: UDP, length 25
13:40:02.025323 IP XX.XX.XX.XX.4569 > ZZ.ZZ.ZZ.ZZ.4569: UDP, length 65
13:40:04.024455 IP ZZ.ZZ.ZZ.ZZ.4569 > XX.XX.XX.XX.4569: UDP, length 25
13:40:04.024557 IP XX.XX.XX.XX.4569 > ZZ.ZZ.ZZ.ZZ.4569: UDP, length 65

Re: Передача названия канала через транк

Добавлено: 01 сен 2017, 14:46
ded
requirecalltoken=no
на обоих пирах. Или конфигурируйте calltokens по мануалу, если решите, что это нужно.
chan_iax2.so reload