VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Перевод двух исходящих на одинаковый номер.

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

dogmeat1982
Сообщения: 16
Зарегистрирован: 20 июн 2011, 08:08

Перевод двух исходящих на одинаковый номер.

Сообщение dogmeat1982 »

Поиском не нашел :(, но более чем уверен, что вопрос обсуждался и решение существует. :oops:

SIP-user 101 - это аналоговый аппарат, подключенный к FXS порту голосового шлюза типа D-Link DVG2102S. Внутренние абоненты УПАТС 205 и 307 - это абоненты УПАТС, которая доступна по городскому номеру XXXXXXX.
1. SIP-user 101 осуществляет вызов в направлении номера _XXXXXXX, вызов н который asterisk маршрутизирует через соответствующий exten;
2. На номере XXXXXXX отвечает DISA, донабираем внутренний 205, последний отвечает, начинается разговор во время которого SIP-user 101 ставит его на HOLD;
3. Пока вызванный на УПАТС контрагента 205-й слушает наш MOH, наш 101-й набирает тот же самый XXXXXXX, проходит через тот же самый соответствующий exten, где в DISA донабирает 307.
4. При попытке положить трубку с целью объединить 205-го с 307-м все соединения разрушаются :(

Exten, через который проходят оба вызова выглядит следующим образом:

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

exten => _XXXXXXX,1,Set(CALLERID(all)=7ABCXXXxxxx)
exten => _XXXXXXX,2,Dial(SIP/${EXTEN}@X.X.X.X:5061,200,tT)
Если через этот-же exten сделать два исходящих, но на разные номера XXXXXXX, то трансфер осуществляется успешно!

Собственно вопрос: Как сделать так, чтобы такой трансфер осуществлялся?

Осуществлять перевод при двойном исходящем на один и тот же городской номер одного контакта контрагента (205) на другого этого же контрагента (307) и иже с ними конечно же не панацея - это наиболее простой способ проверять работу целевой схемы.

Целевая схема - это наладка взаимодействия между пользователями нового Asterisk и существующей УПАТС на среднем предприятии с помощью FXO-шлюза.
Суть целевой схемы следующая. Есть УПАТС со своими юзерами 1001-2500. Рядом ставим Asterisk с SIP-пользователями 101-150 (среди них пока что только аналоговые аппараты, подключенные к FXS-шлюзам). К свободным 8 абонентским (FXS) портам УПАТС (1010-1017) подключен FXO-шлюз. Для того, чтобы SIP-user мог позвонить абоненту УПАТС сделан префикс "1" по набору которого с помощью exten => _1,.... осуществляется вызов в FXO-шлюз и в установленном соединении SIP-user набирает внутренний номер абонента УПАТС. При таком раскладе никак не выходит сделать трансфер между двумя исходящими вызовами в сторону абонентов УПАТС :(
dogmeat1982
Сообщения: 16
Зарегистрирован: 20 июн 2011, 08:08

Re: Перевод двух исходящих на одинаковый номер.

Сообщение dogmeat1982 »

:idea: Нашел более чем удовлетворительное решение своей задачи с помощью донабора DTMF:

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

exten => _XXXXXXXXXX,1,Set(CALLERID(all)=7ABCXXXxxxx)
exten => _XXXXXXXXXX,2,Dial(SIP/${EXTEN:0,6}@X.X.X.X:5061,200,D(wwww${EXTEN:7}))
Получается, что Asterisk осуществляет вызов в сторону X.X.X.X в сномером "первые 7 цифр того, что прилетело" и затем через паузу, равную `wwww` DTMF-ом досылает остаток начиная с 7-й цфиры, т.е. XXX.
В итоге исходящий вызов через exten идет на разные номера и трансфер между ними осуществляется успешно!
Соответственно в целевой задаче это будет выглядеть следующим образом:

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

exten => _1XXXX,1,Dial(SIP/1@192.168.1.10,,D(wwww${EXTEN:1}))
Т.е. SIP-user просто, для вызова, например, 2031, наберет 12031, а Asterisk пошлет INVITE To:"1" в FXO шлюз, где после ответа (пауза wwww) порта УПАТС донаберет 2031.
P.S.: Тем не менее все равно не ясен отказ Asterisk`а осуществлять трансфер при вызове на одинаковый номера. Если кто пояснить суть такого запрета, буду благодарен ;) Каким-то ... разумом есть понимание того, что это своего рода защита от зацикливания вызова ..., так оно?
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Перевод двух исходящих на одинаковый номер.

Сообщение ded »

dogmeat1982 писал(а):Есть УПАТС со своими юзерами 1001-2500. Рядом ставим Asterisk с SIP-пользователями 101-150
Это не рядом. Это сзади. Имея ввиду схему
Город===УПАТС===Астериск. Это тусклое решение - ничего кроме геморроя и бесконечных траблов, как с невнятностью диалплана (чтобы позвонить Ане в бухгалтерию надо позвонить на номер 1999, потом услышать гудок, потм набрать 105), так и зависание линий вследствие неверных определений BUSY & DISCONNECT tones.

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

exten => _1XXXX,1,Dial(SIP/1@192.168.1.10,,D(wwww${EXTEN:1}))
- ради этого бились лучшие умы революции? Ради этого погиб генерал Запата?

Надо Город===Астериск===УПАТС. И чтобы делать трансферы - нужны буквицы tT. И использовать формулу Технология/пир/экстеншн. То есть
exten => _1XXXX,1,Dial(SIP/F--cing_analog_G/{EXTEN:1},,tT)
dogmeat1982
Сообщения: 16
Зарегистрирован: 20 июн 2011, 08:08

Re: Перевод двух исходящих на одинаковый номер.

Сообщение dogmeat1982 »

ded писал(а):Это не рядом. Это сзади.
Не отРицаю - вопрос терминологии :roll:
На самом деле в нашем случае больше подходит "рядом", т.к. схема не "Город===УПАТС===Астериск", а
User (аналоговый ТА) <---> FXS-шлюз <=SIP=> Asterisk <=SIP=> шлюз-FXO <---> FXS УПАТС FXS <---> user-УПАТС (1001-2500).
А можете как-то раскрыть, очень лубопытно, суть вот такого хитрого, на мой взгляд, диала "Dial(SIP/F--cing_analog_G/{EXTEN:1},,tT)"? Опыта в установке на сервер плат с портами FXS/FXO и их менеджментом нет, но что-то подсказывает, что данный Dial подразумевает их наличие, нет?
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Перевод двух исходящих на одинаковый номер.

Сообщение ded »

dogmeat1982 писал(а):Не отРицаю - вопрос терминологии
Нет, это вопрос схемотехники.
dogmeat1982 писал(а):На самом деле в нашем случае больше подходит "рядом", т.к. схема не "Город===УПАТС===Астериск", а
User (аналоговый ТА) <---> FXS-шлюз <=SIP=> Asterisk <=SIP=> шлюз-FXO <---> FXS УПАТС FXS <---> user-УПАТС (1001-2500).
Нет не рядом, а сзади, потому что в Вашей схеме не указано где город, а это является ключевым вопросом в понимании развёртывания VoIP и интеграции с тяжким наследием. Ведь предполагается, что User (аналоговый ТА) <---> FXS-шлюз тоже будет звонить в город, не так ли?
dogmeat1982 писал(а):А можете как-то раскрыть, очень лубопытно, суть вот такого хитрого, на мой взгляд, диала "Dial(SIP/F--cing_analog_G/{EXTEN:1},,tT)"? Опыта в установке на сервер плат с портами FXS/FXO и их менеджментом нет, но что-то подсказывает, что данный Dial подразумевает их наличие, нет?
Нет. Нет.
dogmeat1982
Сообщения: 16
Зарегистрирован: 20 июн 2011, 08:08

Re: Перевод двух исходящих на одинаковый номер.

Сообщение dogmeat1982 »

dogmeat1982 писал(а):Нет не рядом, а сзади, потому что в Вашей схеме не указано где город, а это является ключевым вопросом в понимании развёртывания VoIP и интеграции с тяжким наследием. Ведь предполагается, что User (аналоговый ТА) <---> FXS-шлюз тоже будет звонить в город, не так ли?
Не указал по одной простой причине, т.к. вход/выход с ТфОП будет и со стороны VoIP (Asterisk будет получать по SIP от оператора местн. тлф. св. многоканальный номер и именно из под него будут звонить в ТфОП пользователи Asterisk), так и со стороны УПАТС (около 15 аналоговых СЛ в сторону традиционного оператора местн. тлф. св., через которые будут по старинке звонить пользователи УПАТС).

Изображение

Получается для решения частной задачки, касающейся вызова юзеров УПАТС и перевода вызовов между ними вполне достаточно.
Выше-описанные "геморои":
- невнятность диалплана. Что в нем может оказаться не внятным? Просто, Вас, наверное, смутил тот факт, что номера пользователей УПАТС и SIP-пользователей Asterisk начинаются на "1" (1001-2500 и 101-150), так? Это не проблема скоординировать и пронумеровать пользователей Asterisk с "4" и сделать их 401-450, тогда все будет четко. Просто пример неудачно привел.
- зависание линий вследствие неверных определений BUSY & DISCONNECT tones. Не исключено, однако в последней версии прошивки D-Link DVG6008S даже нет возможности его учить Busy tone - он сам запоминает до 4 вариаций сигнала "Занято" автоматически и линии могут подвиснуть толкьо в первых 1-2-х вызовах во время детектирования сигналов при первом запуске, а далее все как часы - опыт уже есть - все работает. Тьфу-тьфу-тьфу. К тому же УПАТС Panasonic KX-TDA600RU - еще не слон, но уже не моська типа 3/8, которая генерит вместо Busy tone все что не попадя в зависимости от погода :lol: К тому-же, по собственному, опят-же, опыту могу утверждать, что проблемы с зависанием аналоговых СЛ возникают только с абонетскими комплектами от РАТС традиционных и к тому-же крайне древних операторов у которых установлены еще более древние АТСки типа меридиана и иже с ними. Сталкивался даже с таким явлением, когда в качестве Busy tone шло 3 периода нестандартных для РФ гудков, а потом тупо тишина, но и это 6008 по зубам. Мало того, в одном из прожектов 6008 сумел изучить различные Busy tone с линий от 2-х операторов, выдающих его в различных вариациях - 1,5 года полет нормальный. Что-то я рсписался ... В общем определение Busy tone не проблема!
dogmeat1982 писал(а):А можете как-то раскрыть, очень лубопытно, суть вот такого хитрого, на мой взгляд, диала "Dial(SIP/F--cing_analog_G/{EXTEN:1},,tT)"? Опыта в установке на сервер плат с портами FXS/FXO и их менеджментом нет, но что-то подсказывает, что данный Dial подразумевает их наличие, нет?
ded писал(а):Нет. Нет.
Это понимать как отказ прокоментировать Dial или как неверность моего суждения, касающегося моего предположения о том, что он предполагает наличие FXS/FXO на борту сервера Asterisk?
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Перевод двух исходящих на одинаковый номер.

Сообщение ded »

Это понимать как отказ прокоментировать Dial и как неверность суждения, касающегося предположения о том, что он предполагает наличие FXS/FXO на борту сервера Asterisk.
Если Asterisk будет получать по SIP от оператора местн. тлф. св. многоканальный номер, то тем более нужно 15 аналоговых линий засунуть в FXO, и оттуда в тот же Астериск.
А УПАТС посадить на FXS порты, которые воткнуть в её СО порты.
То есть

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

Город==FXO(Gateway)--SIP--| Asterisk |--SIP--FXS(adapter/terminal)==CO(PBX)==абоненты УПАТС 
Город----------SIP--------|          | --SIP--абоненты Астериска
dogmeat1982
Сообщения: 16
Зарегистрирован: 20 июн 2011, 08:08

Re: Перевод двух исходящих на одинаковый номер.

Сообщение dogmeat1982 »

ded писал(а):Это понимать как отказ прокоментировать Dial и как неверность суждения, касающегося предположения о том, что он предполагает наличие FXS/FXO на борту сервера Asterisk.
Жаль, но расстраиваться не спешу 8-) - укаждого свои кулинарные секреты ... :lol:
ded писал(а):Если Asterisk будет получать по SIP от оператора местн. тлф. св. многоканальный номер, то тем более нужно 15 аналоговых линий засунуть в FXO, и оттуда в тот же Астериск.А УПАТС посадить на FXS порты, которые воткнуть в её СО порты.
Мейби, если бы задача на том, что описано выше заканчивалась. Однако, как Вы уже могли убедиться, показана лишь верхушка айсберга для решения конкретного момента, а в целом проект несколько более масштабный. Таких локаций. как выше описано всего четыре. В каждой из них есть панас со своим внутренним планом нумерации, своими аналоговыми СЛ в ТфОП. Планы нумерации УПАТС пересекаются и есть 3-х и 4-х значные. Задача Asterisk - добъединить все и всех. В итоге, к примеру, для того, чтобы юзер 101 из локации "1" позвонил юзеру 101 из локации "2" он должен: набрать номер группы FXS-портов (201), услышать DialTone с FXO-шлюза и отдать ему 2101. Asterisk получит 2101 вызовет FXO-подключенный к УПАТС в локации "2" и воткнет ему 101 ... как то так. Такой вариант развития событий выбран для того, чтобы как можно меньше "терроризировать" существующую схему - просто приаттачиться к ней и сэкономить на связи между локациями.
Если никто больше ничего не сможет предложить/прокоментировать, то предалагю прекратить полемику или сосредоточиться на задаче, поставленной в 1-м посте, т.к. с общими вопросами организации связи в данном проекте мы уж какнибудь сами, не поймите чего дурного, но "опыт - сын ошибок трудных ..." (с) ;)
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Перевод двух исходящих на одинаковый номер.

Сообщение ded »

dogmeat1982 писал(а):1. SIP-user 101 осуществляет вызов в направлении номера _XXXXXXX, вызов н который asterisk маршрутизирует через соответствующий exten;
2. На номере XXXXXXX отвечает DISA, донабираем внутренний 205, последний отвечает, начинается разговор во время которого SIP-user 101 ставит его на HOLD;
3. Пока вызванный на УПАТС контрагента 205-й слушает наш MOH, наш 101-й набирает тот же самый XXXXXXX, проходит через тот же самый соответствующий exten, где в DISA донабирает 307.
4. При попытке положить трубку с целью объединить 205-го с 307-м все соединения разрушаются :(
Облить бензином, сжечь, пепел смыть в реку, выпить стакан водки и забыть такие сценарии как дурной сон.

Btw - это никакой не трансфер.

Я выражаю только своё, частное, субъективное и потому абсолютно необхективное мнение, которое не совпадает с мнением редакции 1-го телеканала.
dogmeat1982
Сообщения: 16
Зарегистрирован: 20 июн 2011, 08:08

Re: Перевод двух исходящих на одинаковый номер.

Сообщение dogmeat1982 »

ded писал(а):Облить бензином, сжечь, пепел смыть в реку, выпить стакан водки и забыть такие сценарии как дурной сон.
Рады бы, но бюджет целевой аудитории не позволяет :lol: не тянет он до бюджета 1-го телеканала :ugeek:
:arrow: Изначально вопрос ставился как-то так: почему юзер не может осуществить трансфер между двуми исходящими, если при этом Dial осуществился на одинаковый номер?.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH