Jump to content

Как сделать чтобы клиен перезванивал последнему звонившему Elastix 4


Recommended Posts

Posted

Работники звонят клиентам на мобильные но не всегда дозваниваются, когда клиенты перезванивают на номер организации то не понятно кто звонил и кому переводить звонок.

Собственно вопрос: Как сделать так чтобы клиент попадал сразу к нужному человеку , а если сегодня ему никто не звонил то направить звонок на IVR или секретаря. С направлением в меню или на внутренний номер проблем нет, это работает. Надо только чтобы секретарь не думала на кого переключить. Просто один клиент может пользоваться услугами разных отделов и звонить ему могут все. Исходящий номер на мобильные только один и купить ещё несколько по количеству отделов не вариант ибо интенсивность звонков не большая и все успевают поговорить.

Posted

Как то попадалось мне такое обсуждение в интернете, но тогда про IP телефонию в конторе разговоров не велось и внедрение не планировалось.

А сейчас не могу вспомнить по каким ключевым словам поиск вести.

Хотя бы направление поиска, ключевые слова. Там уж наверное и докапаюсь.

Posted

По идее можно просто при входящем звонке слазить в базу в CDR запросом кто посл. звонил на номер

звонящего за скажем 3 часа. И на основании результата повернуть звонок куда надо.

Posted

Ну я планировал  на офисной атс нарисовать связку из unixtime - callerid - exten - dial state при ${DIALSTATUS} = (BUSY||NOANSWER) и при входящем  от exten проверять состояние этой связи и отправлять вызов на внутренний номер, при неответе внутреннего - играть фразу перезвоните позже, а при ответе удалять связку unixtime - callerid - exten - dial state

Но у меня беда в том что вызовы идут не только через *, а еще и через старую LDK 300 (Е1 между станциями через циску, город через fxo). Причем основной станцией для 9 служит именно LDK 300 и только когда на ней нет свободных fxo выход идет через sip на *. А на городских аналоговых включен антиаон.

 

 

  • 4 weeks later...
Posted (edited)

Долго возился, поскольку телефонию кручу по большей части для самообразования. Хорошо начальство начинание поддерживает, в итоге решил свою проблему следующим образом: (найдено на просторах интернета с небольшими правками)

Добавляем в extensions_custom.conf следующее:

[from-trunk-gsmin]
  exten => _X.,1,Set(CHANNEL(language)=ru)
  exten => _X.,n,Set(CALLID=${CALLERID(num):-10})
  exten => _X.,n,MYSQL(Connect connidcdr localhost root 1 asteriskcdrdb utf8)
; Для всех вызовов за последние 12 часов , как раз кто зонил сегодня.
  exten => _X.,n,MYSQL(Query resultidcdr ${connidcdr} SELECT * FROM cdr WHERE dst LIKE '%${CALLID}%' AND calldate > NOW() - INTERVAL 12 HOUR ORDER BY calldate DESC LIMIT 1)
; Для неотвеченных вызовов
;   exten => _X.,n,MYSQL(Query resultidcdr ${connidcdr} SELECT * FROM cdr WHERE dst LIKE '%${CALLID}%' AND disposition LIKE 'NOANSWER' ORDER BY calldate DESC)
  exten => _X.,n,MYSQL(Fetch fetchid ${resultidcdr} calldate clid src dst)
  exten => _X.,n,set(number=${src})
  exten => _X.,n,NoOp(кто звонил --> ${clid} кому звонил --> ${dst}) ; вот и узнали кто кому звонил
  exten => _X.,n,GOTOIF($["${dst}" = ""]?nodst:dst)
  exten => _X.,n(dst),MYSQL(Clear ${resultidcdr})
  exten => _X.,n,MYSQL(Disconnect ${connidcdr})
  exten => _X.,n,dial(SIP/${number},tT) ; звоним внутреннему абоненту
  exten => _X.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?nodst)
  exten => _X.,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?nodst)
  exten => _X.,n,GotoIf($["${DIALSTATUS}" = "FAILED"]?nodst)
  exten => _X.,n(nodst),MYSQL(Clear ${resultidcdr})
  exten => _X.,n,MYSQL(Disconnect ${connidcdr})
  exten => _X.,n,goto(from-trunk,101,1) ; ну и если он не отвечает то пускаем звонок секретарю (пускай работает)
  exten => h,1,handup()

Создал custom destination

2018-11-06_21-56-50.png.aeb5f93c5c6737f5c4b2a967a323d8fa.png

и настроил входящий маршрут на это назначение , вот уже неделю вроде как работает, по крайней мере народ не жалуется и к человеку назначенному мной секретарём входящих с вопросом кто звонил звонков меньше.

 

 

Забыл написать что у меня Elastix 4, и конечно приму критику по существу вопроса.

Наверняка можно либо упростить или всё таки чтото не совсем верно записано.

Edited by danila77
орфография
Posted
4 часа назад, danila77 сказал:

А это где посмотреть?

Запрос поправлю конечно.

Если запросом то

SHOW INDEX FROM cdr

Если phpmyadmin то там ну таблицу открыть, Структура и внизу.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.