@asterisk_ru

Страница 404 из 905
Victor_sc120
17.12.2017
14:04:51
по другому диалплан не пременится

Roman
17.12.2017
14:05:48
Друзья помогите новичку пожалуйста организовать определение оператораи региона звонящего на атс с высвечиванием на оборудовании по статье: https://m.habrahabr.ru/post/337150/. Не до конца всё понятно. 1 пункт понятно (контект обработки звонков...), пишем в extensions.ael (но у парня на исходящие и называется outgoing_calls.ael, а сам скрипт в /etc/asterisk/scripts/operatorIF.sh). 2 пункт насколько я понял - создаём базу mysql как у парня эта база называется "uprovisioning", ну пофиг как. А далее как и наоборот на входящие поменять? Всем заранее ОГРОМНОЕ СПАСИБО!

Потом это всё дело прикрутить к freepbx 14 distro на centos7

SilverJoe
17.12.2017
14:08:52
в воскресенье? "да ну нафиг" (с)

Google
Roman
17.12.2017
14:20:30
Извиняюсь конечно. Могу и до понедельника, вторника подождать. Помогите только ПОЖАЛУЙСТА! Я думаю Вам это легко. Заранее ОГРОМНОЕ СПАСИБО!

Alexander
17.12.2017
14:23:39
Есть разница между "дать конкретный совет" и "рассказать как сделать всю работу". На конкретные вопросы будут конкретные советы. За предложение сделать работу, либо пошлют, либо попросят денег.

И это нормально

Roman
17.12.2017
14:24:16
Так в пределах разумного деньги есть

Victor_sc120
17.12.2017
16:13:32
это вам для входящих или исходящих звонков нужно ?

Дмитрий
17.12.2017
16:27:52
и всё же... realtime не использует шаблоны!!! Ужас какой :(

кто-то может подтвердить или, о чудо, опровергнуть?

Ivan
17.12.2017
16:34:49
ужас был бы, если бы поддерживал

Марк
17.12.2017
16:35:23
Какие шаблоны? Вы о чем7

Дмитрий
17.12.2017
16:35:41
отчего же :) Я представляю как это было бы в реализации... но в использовании очень даже было бы хорошо

не зря же null в базе данных придумывали

теперь придётся выводить абстракции шаблонов на уровень своих скриптов :(

Google
Ivan
17.12.2017
16:37:27
В базе можно использовать view

Дмитрий
17.12.2017
16:38:07
эти таблицы только на чтение используются?

Марк
17.12.2017
16:38:18
Что за шаблоны?

Ivan
17.12.2017
16:38:19
В postgres, например, можно делать триггер на вставку во view, и раскладывать по своим внутренним таблицам как угодно

Что за шаблоны?
[phone](!) allow=!all,alaw [100](phone) ... [101](phone) ...

Марк
17.12.2017
16:39:40
А, эти. Тю.

Как не впадлу будет, допишу генератор sip.conf из базы.

Дмитрий
17.12.2017
16:42:06
пиши сразу чтобы по дельте работал.. а не удалял всё и вставлял :)

ну и.. pjsip,конечно

Марк
17.12.2017
16:42:53
У меня пока часть просто перезаписывает файло

Карочи, как в Эластике. Засейвился, перегенерировал конфиг.

Vadim
17.12.2017
16:44:33
А как узнать, что SIP телефонный аппарат активен ?

Дмитрий
17.12.2017
16:44:34
ну а я пока своё писать буду.. не ждать же

Vadim
17.12.2017
17:57:44
Я к тому, что выключится аппарат, например, с SIP аккаунтом 100, или сеть потеряет (механически провод выдеонут, например ), но при dial(sip/100) вызов будет идти в никуда и у вызывающего в трубке будет тишина, а как диагностировать проблему на данном аппарате, чтобы вызов послать по другому направлению?

А как узнать, что SIP телефонный аппарат активен ?

Victor_sc120
17.12.2017
17:59:35
проверить перед вызовом - chanisavail

Функция ChanIsAvail - проверяет статус линии и на выходе выдает варианты: 1-зарегестрирован, не звонит 2-зарегестрирован и используется (если call-limit = 1 не установлен) 3-зарегестрирован и используется (call-limit = 1) 5-не зарегестрирован 6-зарегестрирован и звонит

ChanIsAvail(SIP/100,as) и потом NoOp(Availchan is ${AVAILCHAN})

Зачем вы задаете вопросы ответы на которые есть в книге - Будущее Телефонии и гугле (на первой странице)

https://forum.asterisk.ru/viewtopic.php?f=5&t=2575

Google
Марк
17.12.2017
18:09:34
Прикольно %). Я не знал, что он для сипа тоже канает

Хотя вроде wiki.asterisk перечитал вдоль и поперек.

Дмитрий
17.12.2017
18:25:47
В продолжении темы realtime... А как работает outbound registration? Астериск что.. периодически сканирует таблицу на появление или изменение записей? ну как endpoint я ещё понимаю.. там событийная обработка. А вот как эта registration?

Сам отвечу... а всё равно будет требоваться релоад... https://issues.asterisk.org/jira/browse/ASTERISK-23807

Vadim
17.12.2017
18:30:16
Зачем вы задаете вопросы ответы на которые есть в книге - Будущее Телефонии и гугле (на первой странице)
Victor_sc120 , я знаю про функцию chanisavail и перед тем, как задать вопрос, я естественно, всё проверил. Какое-то время (продолжительное) аккаунт ведет себя нормально, т.е. если я посмотрю зарегестрированные пиры или результат выполнения функции chanisavail, то всё будет ок.

Поэтому не нужно отсылать его к книге или гуглу. Дайте тот совет, который вы На практике сами проверили

Дмитрий
17.12.2017
18:32:39
А как узнать, что SIP телефонный аппарат активен ?
может использовать qualify? тогда статус можно считать почти актуальным

Vadim
17.12.2017
18:33:44
Конечно, когда астериск посчитает этот аккаунт потерянным, то и chanisavail пригодится, но я говорю о той ситуации, когда проблема только возникла с аппаратом, например, на нём внезапно пропало питание или шнур Lan выдернут

Дмитрий
17.12.2017
18:34:50
тогда он точно ничего не отправляет. Всё зависит от необходимого времени реакции. можно использовать qualify с должным периодом и AMI события, например..

если нужно узнать раньше, чем диалплан..

у меня, например, все события по онлайн/офлайн в базу складываются.. чтобы после узнать в каком он состоянии был

Марк
17.12.2017
18:36:41
А я с этим онлайн/оффлайн прилично наебался через АМИ.

Марк
17.12.2017
18:38:06
В АМи этот блядский агентлогин работает постоянно. Как пинг. В этоге приходится чекать, что он уже логин

Vadim
17.12.2017
18:39:27
Точно ... Нужно hint'ы попробовать... я как-то давно эксперементировал...но не нужно было... сейчас повспоминаю... и про qualify подумать нужно. .

Дмитрий
17.12.2017
19:01:58
А я с этим онлайн/оффлайн прилично наебался через АМИ.
я в основном из-за того что при переходе на pjsip многое поломали.. и не всё ещё вернули

Saint
17.12.2017
20:05:50
я в основном из-за того что при переходе на pjsip многое поломали.. и не всё ещё вернули
А у меня на 13 pjsip никак не работает. Телефоны по chan sip работают

Хоть порт указываю и пробросил его, не регистрируются никак и не пойму че за фигня

Roman
17.12.2017
22:45:24
Написать в extention.ael ? А как к этому ещё прикрутить определение с городских региона и показом данной инфы на ip телефонах?

Google
Victor_sc120
18.12.2017
06:08:26
не hint надо крутить, а регистрацию скручивать до 120 секунд = тогда и о прапаже телефона сразу узнаете а не спустя полчаса

Rm
18.12.2017
07:24:32


Такой диаплан не сложно создать?

ShadoWalkeR
18.12.2017
07:25:29
Несложно

Андрей
18.12.2017
07:25:33
freepbx ?

Rm
18.12.2017
07:25:46
Андрей
18.12.2017
07:26:12
через Time Conditions

Rm
18.12.2017
07:26:26
Андрей
18.12.2017
07:26:50
А в чем вопрос то ) Walker дело говорит

Saint
18.12.2017
07:30:03
цепочку нескольких Time Conditions делаете и будет счастье

Rm
18.12.2017
08:16:03
я так полагаю в Time Conditions будет 4 варианта? (Отдел 1 (день) 06:50/22:50), (Отдел 2 (ночь) 23:10/06:50), (Отдел 1 и Отдел 2 (утро) 06:50/07:10), (Отдел 1 и Отдел 2 (вечер) 22:50/23:10)

Сергей
18.12.2017
09:28:47
Здравствуйте. Дано: gsm шлюз yeastar tg200. слот1 — мтс. слот2 — велком. (Беларусь) 1.звонок с велком на мтс. на мобильном аппарате звонок сбросил (не поднимая трубку на софтофоне). софтофон продолжает звонить. чтобы прервать звонок нажал отбой на софтофоне. такая же проблема если звонить с мтс на велком. 2. звонок с мтс на мтс. на мобильном сбросил звонок. софтофон перестал звонить. все норм. если звонить с велкома на велком то проблемы нет. 3. если звонить с городского номера на мтс то проблем нет. если звонить с городского номера на велком то проблема. позвонил в саппорт еастара. собрал лог gsm debug. саппорт говорит что проблема на стороне оператора, от него не прилетает сообщение NO CARRIER. Может кто-нибудь сталкивался с подобной проблемой?

Saint
18.12.2017
10:55:24
Добрый день всем

я все продолжаю биться с уведомлениями о занятости вызываемого абонента)

скрипт чуть доработал по подсказкам товарищей

сейчас в логе при звонке занятому абоненту вижу следующее

-- Executing [5950@NS-Russia:1] Macro("SIP/1102-0002807d", "dial-one-predial-hook") in new stack [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension -- Executing [s@macro-dial-one-predial-hook:1] NoOp("SIP/1102-0002807d", "HINT STATUS - ") in new stack [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension -- Executing [s@macro-dial-one-predial-hook:2] ExecIf("SIP/1102-0002807d", "0?Playback(/var/lib/asterisk/sounds/en/custom/orman)") in new stack [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension -- Executing [s@macro-dial-one-predial-hook:3] ExecIf("SIP/1102-0002807d", "0?Set(D_OPTIONS=Ttm)") in new stack [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension -- Executing [s@macro-dial-one-predial-hook:4] ExecIf("SIP/1102-0002807d", "0?Playback(/var/lib/asterisk/sounds/en/custom/orman)") in new stack [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension -- Executing [s@macro-dial-one-predial-hook:5] ExecIf("SIP/1102-0002807d", "0?Set(D_OPTIONS=Ttm)") in new stack [2017-12-18 13:54:20] WARNING[416][C-000117eb]: func_extstate.c:106 extstate_read: EXTENSION_STATE requires an extension -- Executing [s@macro-dial-one-predial-hook:6] MacroExit("SIP/1102-0002807d", "") in new stack

Mike
18.12.2017
10:59:04
сейчас в логе при звонке занятому абоненту вижу следующее
в консоли астера напишите core show function EXTENSION_STATE и проверьте синтаксис

Saint
18.12.2017
11:03:00
я так понимаю ему в макросе не нравится это - {EXTENSION_STATE(${DEXTEN}?

Google
Mike
18.12.2017
11:03:46
если там написанно именно так, то я уже вижу ошибку )

Алексей
18.12.2017
11:04:12
Закрывающую

Mike
18.12.2017
11:04:40
${EXTENSION_STATE(${DEXTEN})}

$ ) }

Алексей
18.12.2017
11:04:52
Ага

Saint
18.12.2017
11:05:08
ну вся запись с extensions_custom.conf теперь такая

[from-internal-custom] exten => _X.,1,macro(dial-one-predial-hook) [macro-dial-one-predial-hook] exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})}) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Playback(/var/lib/asterisk/sounds/en/custom/orman)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "INUSE"]?Set(D_OPTIONS=Ttm)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "RINGINUSE"]?Playback(/var/lib/asterisk/sounds/en/custom/orman)) exten => s,n,ExecIf($["${EXTENSION_STATE(${DEXTEN})}" = "RINGINUSE"]?Set(D_OPTIONS=Ttm)) exten => s,n,MacroExit

в логах то вижу что вызывает, но запись так и не играет блин

SilverJoe
18.12.2017
11:05:56
| DEXTEN это что такое?

Saint
18.12.2017
11:06:53
я так понимаю переменная

Mike
18.12.2017
11:07:00
таинственная переменная, задаваемая вне макроса )

перед exten => s,n,MacroExit добавьте exten => s,n,Dumpchan()

Saint
18.12.2017
11:07:55
почему вне? в тут разве не оно - exten => s,1,Noop(HINT STATUS - ${EXTENSION_STATE(${DEXTEN})})

Mike
18.12.2017
11:07:56
и в дампе перепроверьте, правильные ли там значения

Noop ничего не делает, значение не присваивается

Saint
18.12.2017
11:12:50
и в дампе перепроверьте, правильные ли там значения
Context= macro-dial-one-predial-hook Extension= s Priority= 6 CallGroup= PickupGroup= Application= DumpChan Data= (Empty) Blocking_in= (Not Blocking) это оно?

Mike
18.12.2017
11:14:39
вы в списке переменную DEXTEN видите?

Страница 404 из 905