Страница 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