Страница 1 из 2
Кто положил трубку?
Добавлено: 21 июн 2011, 23:08
Aven
Надо определить кто положил трубку.
Вроде простая вещь, а найти как узнать не могу.
Нашел CHANNEL(hangupsource) - но он работает только для SIP устройств.
А как быть с DAHDI устройствами?
Re: Кто положил трубку?
Добавлено: 21 июн 2011, 23:23
ded
core set debug channel all?
Re: Кто положил трубку?
Добавлено: 21 июн 2011, 23:37
Aven
Мне это нужно знать в h экстеншене, что бы записать в CDR
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 00:02
ded
Судя по
http://www.mail-archive.com/svn-commits ... 45416.html это присутствует во всех каналах начиная с 1.6.3 и 1.8
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 02:03
Aven
это присутствует во всех каналах начиная с 1.6.3 и 1.8
это - это что?
А 1.6.3 откуда появилось? 1.6.2.18 последняя...
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 02:13
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"
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 03:12
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
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 11:54
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'
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 12:19
ded
Если отслеживается в дебаге
-- Hanging up on 'DAHDI/2-1'
-- Hungup 'DAHDI/2-1'
то можно поймать это програмно в ${CUSTOM_переменную}, и нужно подумать - как.
IMHO - аналоговые линии, от слова анал, должны сгореть в топке локалхоста. Геморрой с ними не стоит никаких мнимых бенефитов типа цена_за_порт.
Re: Кто положил трубку?
Добавлено: 22 июн 2011, 12:35
Aven
В дебаге как раз видно, что при завершении звонка со стороны FXO не происходит закрытие канала, он остается в рабочем состоянии и аппонент например слышит короткие гудки.
Можно ли сделать, чтоб сразу завершался?
А насче ОНАЛоговых линий я и сам все понимаю, но при их цене в разы ниже стоимости IP телефонов они вне конкуренции для рядовых сотрудников. Именно использования их позволяет составлять конкуренцию традиционным телефонным вендорам, если не требуется экзотических сервисов от телефонии, а это 90% инсталяций!
С FXO все еще сложнее... линии есть и от них зачастую никуда не деться. Даже если и есть возможность взять по IP линию, это вовсе не означает возможность сохранить имеющиеся телефонные номера. В европе и Default-сити с этим все полегче, но за МКАДом тоже есть жизнь и тоже надо как-то крутиться...
Кстати к работе FXS притензий вообще нет. Тоновый набор быстрый, DTMF бегают нормально, занятость каналов определяется нормально, CallerId передается, включая имя и все это за 892р порт, что еще нужно рядовым сотрудникам?