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

Кто положил трубку?

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

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

Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Кто положил трубку?

Сообщение Aven »

Надо определить кто положил трубку.
Вроде простая вещь, а найти как узнать не могу.

Нашел CHANNEL(hangupsource) - но он работает только для SIP устройств.

А как быть с DAHDI устройствами?
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Кто положил трубку?

Сообщение ded »

core set debug channel all?
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Кто положил трубку?

Сообщение Aven »

Мне это нужно знать в h экстеншене, что бы записать в CDR
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Кто положил трубку?

Сообщение ded »

Судя по http://www.mail-archive.com/svn-commits ... 45416.html это присутствует во всех каналах начиная с 1.6.3 и 1.8
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Кто положил трубку?

Сообщение Aven »

это присутствует во всех каналах начиная с 1.6.3 и 1.8
это - это что?

А 1.6.3 откуда появилось? 1.6.2.18 последняя...
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Кто положил трубку?

Сообщение ded »

Это - hangupsource в канале.
1.6.3 - именно так написано в комментариях кода (по ссылке). Точнее - было так написано и заменено на 1.8

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

@@ -1283,7 +1283,7 @@
  * \param chan channel to set the field on
  * \param source a string describing the source of the hangup for this channel
  *
- * \since 1.6.3
+ * \since 1.8
  *
  * Hangupsource is generally the channel name that caused the bridge to be
  * hung up, but it can also be other things such as "dialplan/agi"
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Кто положил трубку?

Сообщение Aven »

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

exten => h,1,NoOp(hangupsource = ${CHANNEL(hangupsource)})
Фактически работает только для SIP... :(
[Jun 21 23:05:08] -- Executing [h@office:1] NoOp("SIP/102-0000002b", "hangupsource = SIP/102-0000002b") in new stack
И не работает для Dahdi:
[Jun 21 23:01:10] -- Executing [h@office:1] NoOp("SIP/102-00000023", "hangupsource = ") in new stack
Решения телефонии на базе Asterisk || http://it-need.ru
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Кто положил трубку?

Сообщение Aven »

Сценарий 1: звонок FXO -> FXS завершает FXS
Dial опция F не выполняется
CHANNEL(hangupsource) =
CHANNEL(checkhangup) = 0

Сценарий 2: звонок FXO -> FXS завершает FXO
Dial опция F не выполняется
CHANNEL(hangupsource) =
CHANNEL(checkhangup) = 0

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

[Jun 22 11:47:02]     -- Starting simple switch on 'DAHDI/1-1'
[Jun 22 11:47:03]     -- Executing [s@trunc-from_dahdi:1] NoOp("DAHDI/1-1", "Incomming call to PSTN from [XXX]") in new stack
[Jun 22 11:47:03]     -- Executing [s@trunc-from_dahdi:2] Set("DAHDI/1-1", "CALLERID(all)=PSTN <XXX>") in new stack
[Jun 22 11:47:03]     -- Executing [s@trunc-from_dahdi:3] Dial("DAHDI/1-1", "SIP/101&DAHDI/2,,F") in new stack
[Jun 22 11:47:03]   == Using SIP RTP CoS mark 5
[Jun 22 11:47:03]     -- Called 101
[Jun 22 11:47:03]     -- Called 2
[Jun 22 11:47:03]     -- DAHDI/2-1 is ringing
[Jun 22 11:47:03]     -- SIP/101-00000038 is ringing
[Jun 22 11:47:04]     -- DAHDI/2-1 is ringing
[Jun 22 11:47:07]     -- DAHDI/2-1 answered DAHDI/1-1
[Jun 22 11:47:10]     -- Executing [h@trunc-from_dahdi:1] NoOp("DAHDI/1-1", "hangupsource = ") in new stack
[Jun 22 11:47:10]     -- Executing [h@trunc-from_dahdi:2] NoOp("DAHDI/1-1", "checkhangup = 0") in new stack
[Jun 22 11:47:10]     -- Hanging up on 'DAHDI/2-1'
[Jun 22 11:47:10]     -- Hungup 'DAHDI/2-1'
[Jun 22 11:47:10]   == Spawn extension (trunc-from_dahdi, s, 3) exited non-zero on 'DAHDI/1-1'
[Jun 22 11:47:10]     -- Hanging up on 'DAHDI/1-1'
[Jun 22 11:47:10]     -- Hungup 'DAHDI/1-1'
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: Кто положил трубку?

Сообщение ded »

Если отслеживается в дебаге
-- Hanging up on 'DAHDI/2-1'
-- Hungup 'DAHDI/2-1'
то можно поймать это програмно в ${CUSTOM_переменную}, и нужно подумать - как.

IMHO - аналоговые линии, от слова анал, должны сгореть в топке локалхоста. Геморрой с ними не стоит никаких мнимых бенефитов типа цена_за_порт.
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Кто положил трубку?

Сообщение Aven »

В дебаге как раз видно, что при завершении звонка со стороны FXO не происходит закрытие канала, он остается в рабочем состоянии и аппонент например слышит короткие гудки.
Можно ли сделать, чтоб сразу завершался?


А насче ОНАЛоговых линий я и сам все понимаю, но при их цене в разы ниже стоимости IP телефонов они вне конкуренции для рядовых сотрудников. Именно использования их позволяет составлять конкуренцию традиционным телефонным вендорам, если не требуется экзотических сервисов от телефонии, а это 90% инсталяций!

С FXO все еще сложнее... линии есть и от них зачастую никуда не деться. Даже если и есть возможность взять по IP линию, это вовсе не означает возможность сохранить имеющиеся телефонные номера. В европе и Default-сити с этим все полегче, но за МКАДом тоже есть жизнь и тоже надо как-то крутиться...

Кстати к работе FXS притензий вообще нет. Тоновый набор быстрый, DTMF бегают нормально, занятость каналов определяется нормально, CallerId передается, включая имя и все это за 892р порт, что еще нужно рядовым сотрудникам?
Решения телефонии на базе Asterisk || http://it-need.ru
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH