• Как дать возможность клиенту позвонить менеджеру который ему звонил?

    gogametreveli
    @gogametreveli
    У меня вот так настроено , в принципе работает :)

    exten => _X.,1,Answer()
    exten => _X.,n,MixMonitor(${UNIQUEID}.wav,b)
    exten => _X.,n,MYSQL(Connect connid localhost {user} {pass} {database})
    ; выбираем запросом внутренний номер с которого был последний звонок клиенту
    exten => _X.,n,MYSQL(Query resultid ${connid} SELECT `src` FROM {cdr_table} WHERE `dst`='${CALLERID(number)}' ORDER BY `calldate` DESC LIMIT 1)
    exten => _X.,n,MYSQL(Fetch fetchid ${resultid} VAR)
    exten => _X.,n,MYSQL(Clear ${resultid})
    exten => _X.,n,MYSQL(Disconnect ${connid})
    ; если такой информации нет то переходим к стандартным процедурам
    exten => _X.,n,GotoIf($["${var}" = "" ]?def_user)
    ; проверям если оперетор занят то переходим к стандартным процедурам
    exten => _X.,n,GotoIf($[ "${DEVICE_STATE(SIP/${var})}" != "NOT_INUSE" ]?def_user)
    ; звоним нужному опереатору
    exten => _X.,n,Dial(SIP/${var},20,tTr)  ; 
    ; если оператор не ответил то звоним по стандартной логике
    exten => _X.,n,Dial(SIP/7101,20,tTr)
    exten => _X.,n,Dial(SIP/7102&SIP/7103&SIP/7104&SIP/7105&SIP/7106&SIP/7107&SIP/7108,30,tT)
    exten => _X.,n,Hangup()
    ; стандартная логика
    exten => _X.,n(def_user),GotoIf($["${DEVICE_STATE(SIP/7101)}" = "NOT_INUSE"]?first_user:all_user)
    exten => _X.,n(first_user),Dial(SIP/7101,10,tTr)
    exten => _X.,n(all_user),Dial(SIP/7102&SIP/7103&SIP/7104&SIP/7105&SIP/7106&SIP/7107&SIP/7108&SIP/7109,10,tT)
    exten => _X.,n,Hangup()
    Ответ написан
    4 комментария