Sysop installieren

Aus metasec wiki
Wechseln zu: Navigation, Suche

Pakete Installieren

Das jeweils aktuelle Paket runterladen und installieren

wget http://dl.metasec.de/metasec_sysop_current.deb
dpkg -i metasec_sysop_current.deb

Nach der Installation stehen die Sysop-Programmteile als auch die notwendigen AGI Scripte und Wahlplanteile zur Verfügung.

Konfiguration

Warteschlangen

  • agenten anlegen
  • wahlplan anlgen / ändern / anpassen
  • agis installieren
  • warteschlangen anlegen
    • z.b. "zentrale"

Wahlpläne


[amt]
exten => 0, 1, Set(__SYSOP_CALLIDNUM=${CALLERID(num)})
exten => 0, 2, Set(__SYSOP_EXTEN=${EXTEN})
exten => 0, 3, Set(__SYSOP_CHANNEL=${CHANNEL})
exten => 0, 4, GoTo(default,105,1)

exten => _XXX,1,GoTo(default,${EXTEN},1)

[default]

; zentrale 
exten => 105, 1, Set(UML=${DB(uml/zentrale)})
exten => 105, 2, GoToIf($["${UML}"="1"]?100)
exten => 105, 3, Answer
exten => 105, 4, Queue(zentrale)
exten => 105, 5, NoOp(=== ABWURF AUS DER AGENTENWS ===)
exten => 105, 6, Macro(ab_zentrale,${V_TARGET_N})
exten => 105, 7, Hangup

; agentenanmeldung über sysop webgui
exten => _sysop., 1, Answer
exten => _sysop., 2, Set(AGENTID=${CUT(EXTEN|-|2)})
exten => _sysop., 3, Set(ACTION=${CUT(EXTEN|-|3)})
exten => _sysop., 4, NoOp(${AGENTID} ${ACTION} ${EXTEN})
exten => _sysop., 5, GoToIf($["${ACTION}"="login"]?100)
exten => _sysop., 6, Agi(zphone_sysop_agent.php,${AGENTID},logout)
exten => _sysop., 7, Playback(agent-loggedoff)
exten => _sysop., 8, Hangup

exten => _sysop., 100, Agi(zphone_sysop_agent.php,${AGENTID},login)
exten => _sysop., 101, Playback(agent-loginok)
exten => _sysop., 102, Hangup


; wildcardrouting
exten => _ZXX, 1, Agi(zphone_sysop_macro.php,${EXTEN})
exten => _ZXX, 2, Set(UML=${DB(uml/zentrale)})
exten => _ZXX, 3, NoOp(${EXTEN} ${V_TARGET} ${V_TARGET_N} ${V_TAG} ${V_TIME} ${V_SOUND} ${UML})
exten => _ZXX, 4, GoToIf($["${CUSTOMER}"="V"]?100)
exten => _ZXX, 5, GoToIf($["${CUSTOMER}"="B"]?200)
exten => _ZXX, 6, GoTo(default,105,1)

exten => _ZXX, 100, NoOp(Virtueller Kunde)
exten => _ZXX, 101, TrySystem(/usr/local/metasec/bin/zphone_msg.sh "${EXTEN}" "${CALLERID(num)}" i "${CHANNEL}" "${UNIQUEID}")
exten => _ZXX, 102, Set(__SYSOP_EXTEN=${EXTEN})
exten => _ZXX, 103, Set(__SYSOP_CHANNEL=${CHANNEL})
exten => _ZXX, 104, Set(__SYSOP_CALLIDNUM=${CALLERID(num)})
exten => _ZXX, 105, GoToIf($["${UML}"!="1"]?200)
exten => _ZXX, 106, GoTo(default,${V_TARGET_N},1)

exten => _ZXX, 200, GoToIf($["${V_TARGET}"="105"]?300)
exten => _ZXX, 201, GoToIf($[${LEN(${V_TARGET})}>4]?400)
exten => _ZXX, 202, GoTo(default,${V_TARGET},1)

exten => _ZXX, 300, NoOp
exten => _ZXX, 301, Set(__SYSOP_CALLIDNUM=${CALLERID(num)})
exten => _ZXX, 302, Set(__SYSOP_EXTEN=${EXTEN})
exten => _ZXX, 303, Set(__SYSOP_CHANNEL=${CHANNEL})
exten => _ZXX, 304, GoTo(default,105,1)
exten => _ZXX, 305, Hangup

exten => _ZXX, 400, Set(CDR(accountcode)=${EXTEN})
exten => _ZXX, 401, Set(CALLERID(num)=${EXTEN})
exten => _ZXX, 402, GoTo(default,${V_TARGET},1)


[callback-cc]
exten => h, 1, NoOp(--- kunde hat aufgelegt ---)
exten => h, 2, Macro(callupdate,${SYSOP_CHANNEL},${SYSOP_EXTEN},${EXTEN})

exten => _1XX, 1, TrySystem(/var/www/webtapi/sysop/scripts/caller_info.sh ${SYSOP_EXTEN} ${SYSOP_CHANNEL} ${SYSOP_CALLIDNUM} ${EXTEN})
exten => _1XX, 2, Wait(1)
exten => _1XX, 3, Dial(SIP/${EXTEN},,M(callupdate^${SYSOP_CHANNEL}^${SYSOP_EXTEN}^${EXTEN}))
exten => _1XX, 4, Hangup

[sysop]

#include extensions-custom-sysop.conf

#include extensions-fax-sysop.conf

exten => _0X., 1, Set(CALLERID(num)=987654321)
exten => _0X., 2, Dial(SIP/${EXTEN:1}@yps)

exten => _11X, 1, SIPAddHeader(Alert-Info: info=alert-autoanswer)
exten => _11X, 2, Set(_ALERT_INFO=info=alert-autoanswer)
exten => _11X, 3, Dial(SIP/${EXTEN})

exten => _70X., 1, NoOp(==== SYSOP CALL ${EXTEN} ======)
exten => _70X., 2, Set(CDR(accountcode)=${EXTEN:2:3})
exten => _70X., 3, Set(CALLERID(num)=${EXTEN:2:3})
exten => _70X., 4, Dial(SIP/${EXTEN:6}@yps)
exten => _70X., 5, Hangup

exten => _7ZX., 1, NoOp(==== SYSOP CALL ${EXTEN} ======)
exten => _7ZX., 2, Set(CDR(accountcode)=${EXTEN:1:4})
exten => _7ZX., 3, Set(CALLERID(num)=${EXTEN:1:4})
exten => _7ZX., 4, Dial(SIP/${EXTEN:6}@yps)
exten => _7ZX., 5, Hangup

exten => _XXX, 1, GoTo(default,${EXTEN},1)

exten => _XXXX, 1, GoTo(default,${EXTEN},1)

[sysop_meetme]

#include extensions-custom-sysop_meetme.conf

#include extensions-fax-sysop_meetme.conf
exten => _X., 1, Answer
exten => _X., 2, MeetMe(${EXTEN},dq)
exten => _X., 3, Hangup


Macros


[macro-ab_zentrale]
exten => s, 1, NoOp(=== MACRO_AB_ZENTRALE ${ARG1} ===)
exten => s, 2, GoToIf($["${ARG1}"=""]?100)
exten => s, 3, GoToIf($["${ARG1}"="105"]?100)
exten => s, 4, NoOp(${CALLERID(num)})
exten => s, 5, GoTo(default,${ARG1},1)
exten => s, 100, VoiceMail(su10000@default)

[macro-anruf-fo]
exten => s, 1, TrySystem(/usr/local/metasec/bin/zphone_msg.sh "${ARG1}" "${CALLERID(num)}" i "${CHANNEL}" "${UNIQUEID}")
exten => s, 2, Agi(zphone_chese.php,${CALLERID(num)},${ARG1})
exten => s, 3, GoToIf($[${LEN(${CALLERID(num)})}>3]?1000)
exten => s, 4, GoToIf($[${LEN(${CALLERID(num)})}=3]?2000)
exten => s, 5, Set(__ZCHESE=${ZCHESE})
exten => s, 6, GoToIf($["${ZCHESE}"="1"]?500)
exten => s, 7, NoOp(--- ${CALLERID(num)} ---)
exten => s, 8, Set(GROUP()=${ARG1})
exten => s, 9, Set(GROUPCOUNT=${GROUP_COUNT(${ARG1})})
exten => s, 10, Set(UML=${DB(uml_target/${ARG1})})
exten => s, 11, GoToIf($[${LEN(${UML})}>0]?300)
exten => s, 12, GoToIf($[${GROUPCOUNT}>1]?100)
exten => s, 13, Dial(SIP/${ARG1},20,tTro)
exten => s, 14, TrySystem(/usr/local/metasec/bin/zphone_msg.sh ${ARG1} ${MACRO_EXTEN} m ${CHANNEL} ${UNIQUEID} upd)
exten => s, 15, Macro(sysopmaster,${ARG1})
exten => s, 16, Hangup()
exten => s, 100, GoToIf($[${LEN(${CALLERID(num)})}=3]?400)
exten => s, 101, Macro(sysopmaster,${ARG1})
exten => s, 300, GoToIf($["${UML}"="105"]?600)
exten => s, 301, Set(CALLERID(num)=${ARG1})
exten => s, 302, GoTo(default,${UML},1)
exten => s, 400, Busy(30)
exten => s, 401, Hangup()
exten => s, 500, Dial(SIP/${ARG1})
exten => s, 501, Hangup()
exten => s, 600, Macro(sysopmaster,${ARG1})
exten => s, 1000, Set(CALLERID(num)=0${CALLERID(num)})
exten => s, 1001, GoTo(5)
exten => s, 2000, SIPAddHeader(Alert-Info: info=<Bellcore-dr2>)
exten => s, 2001, GoTo(5)

[macro-anruf_vrtl]
[macro-callupdate]
exten => s, 1, NoOp(===== CALLERUPDATE ${ARG1} ${ARG2} =======)
exten => s, 2, TrySystem(/var/www/webtapi/sysop/scripts/caller_update.sh ${ARG1} ${ARG2} ${ARG3})

[macro-sysopmaster]
exten => s, 1, Agi(zphone_sysop_macro.php,${ARG1})
exten => s, 2, NoOp(${ARG1} ${V_TARGET} ${V_TARGET_N} ${V_TAG} ${V_TIME} ${V_SOUND})
exten => s, 3, Set(__SYSOP_CALLIDNUM=${CALLERID(num)})
exten => s, 4, Set(__SYSOP_EXTEN=${ARG1})
exten => s, 5, Set(__SYSOP_CHANNEL=${CHANNEL})
exten => s, 6, GoTo(default,105,1)

Sysop

Das Aussehen des Sysops als auch der Funktionsumfang können (fast) beliebig angepasst werden.

Sysop als Desktopapplikation

Prism

Prism ist es Firefox Spinnoff, welches einer webbasierten Applikation erlaubt, sich wie eine reguläre Windows Desktop Applikation zu verhalten. Unter http://prism.mozillalabs.com/started/ kann man die jeweils aktuelle Version herunterladen.