Re: Re: questions about SIP and PBX

От: Vladimir A. Butenko <CGatePro_at_mx_ru>
Дата: Thu 17 Nov 2005 - 12:46:23 MSK

On Thu, 17 Nov 2005 11:47:32 +0300
  "Vladimir Mendelevich" <CGatePro@mx.ru> wrote:

> VAB> более-менее всё сделали работающим. Что такое "Addpak" - я понятия не
> VAB> имею :-(
>
> Я ошибся. Имелось ввиду AddPac.

Это я тоже не знаю, что такое.   

> VAB> получаса. А вот чтобы действительно сказать - "работает как часы" -
> VAB> надо ставиить на стол и месяц пользоваться.
>
> А вот можно еще вопрос? Как раз про трансфер. Как оно реализуется? В

>смысле,

> как оно выглядит. Куда нажимать, надо ли что-нибудь делать на CGPro. И
>еще.

На нормальном телефоне должно быть две кнопки - Transfer и Blind Transfer. Как это выглядит внутри:

а) Нажимаете Transfer, оно ставит собеседника на Hold. б) В SIP это означает, что собеседнику сказали, что ничего от него слышать не хотят. Музыку ему никто при этом не играет, хотя какие-то телефоны (собеседника) могут сами его поразвлечь калинкой-малинкой. в) набираете номер, звоните. Говорите с человеком Петей. Мол, тут Вася звонит, давай я вас соединю.
г) нажимаете Transfer.
Вышеописанные шаги могут отличаться от телефона к телефону. Собственно трансфер начинается только сейчас:

1. Ваш телефон шлёт Пете Refer (внутри вашего с ним диалога), в этом refer есть:
Refer-to: - адрес Васи
Replaces - длииинная строка - ID вашего с Васей разговора.

2. Петин телефон, получив такой Refer посылает INVITE куда указали в refer-To (Васе), с указанием Replaces - Вашего с Васей диалога.

3. По ИДЕЕ, получив такой INVITE, Петин телефон должен сообразить, что это не новый звонок, а tranfer, и быстренько послать вам BYE, заменить Ваш с ним диалог на диалог пришедшего INVITE и начать трепаться с Петей. Вы при этом - вырублены из диалога совсем.

При этом если Вася звонил из Антарктиды (или Вы ему исходно позвонили), а Пете Вы позвонили в Якутию, то за начальные звонки-то Вы заплатили, конечно. А вот после этого transfer всё происходит "по-настоящему", а не как дядя Белл придумал 100+ лет назад - Петя с Васей разговаривают, а Вы вообще не при чем. И кто за это платить будет - непонятно.

Если Вы звоните через gateways в PSTN, то Вы бы могли позвонить через gateway в Антарктиду, через тот же (например) гейтвей - в Арктику, и сказать им "а теперь беседуйте друг с дружкой" - а сами отключиться и вообще вырубить свой офис. И никто не сможет доказать, что вы что-то владельцу гейтвея должны.

Поэтому большинство gateways в старую PSTN телефонию совершенно не понимают ни Refer, ни INVITE с replaces.

Но у CGatePro на это есть средство. Если gateway соединён через PBX приложение (например, через программку reception), то все эти Refer/Invite обрабатывает она - наружу ничего не идет. Но и платить будете Вы сами. То есть в случае 2 гейтвеев, у Вас будет сигналлинг от гейтвея в PBX Task (это Вася позвонил в Ваш офис), и будет второй таск (который был создан когда Вася набрал Ваш extension). Вот это-то второй таск и переключится на Петю, когда Вы сделаете Transfer. И будет говорить с Петей (другим gateway, например). При этом всё это хозяйство попробует звук пустить напрямую. Или будет релеить и звук, если там вмешается NAT с одной из сторон, и если одна из сторон - gateway для которого указано, что он требует релеинья звука (не умеет преключать media куда указано).

Так как в этом случае у вас остается signalling и к Васе, и к Пете, то Вы платите за обе "ноги" разговора.

Вот такое там внутри ужасное чудище живет. Самое смешное, что оно еще и работает. Вроде :-)

> Я понимаю как повесить кого-то на холд. Делается аттендер или как оно
> называется и переключается туда человек. А вот как его забрать оттуда?

Просто на холд - это кнопка на всех SIP телефонах. А вот на park - см. описание секции "PBX" в мануале. Вкратце - у каждого человека (аккаунта) есть 10 очередей ожидания и еще 10 на весь домен. Вы просто Tranfer звонок в эту очередь. Он там сидит, разговаривая с обработчиком очереди. А потом вы звоните на адрес этой очереди, и оно вам "pickup" первый засунутый туда звонок.

Для своих телефонов это полезно, чтобы повесить человека в очередь, взять другой телефон (WiFi, например), и взять человек из очереди, и продолжить разговор. Не забывайте, что у SIP телефонов нет понятия "линия" и "линия занята". Любая коробка может поддерживать 1000 линий, это лишь вопрос наличия кнопок у неё на морде. Поэтому ставить человека на холд переводя его куда-то, чтобы "освободить линию" (чтобы принять или сделать другой звонок) в SIP совершенно не нужно. Поэтому простой SIP Hold (клавиша) - это просто сказать peer-у, что "мы тебя сейчас поигнорируем" (потому что будем говорить с другим), но сам звонок остаётся "живым".

> И

>как

> это можно сделать с аналогового аппарата, подключеннгого через мост?
> Вероятно, через какую-то комбинацию кнопок...

Надо смотреть мануал этого "моста". Обычно transfer делается через флаш - то есть дернули "по рычагу" и набрали другой номер - это первая стадия, потом еще раз дернули - это вторая.

Но в офисе лучше этой ерундой не заниматься, и покупать нормальные SIP-телефоны. Из дешевых - Grandstream, дальше - Polycom. Мы вот тут себе Linksys поставили, вроде тоже работают.

> С уважением,

Sincerely,
Vladimir Получено Thu Nov 17 09:44:19 2005

Этот архив был сгенерирован hypermail 2.1.8 : Tue 21 Feb 2006 - 03:17:43 MSK