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.

Arbeiten mit dem Sysop

Der Sysop kann entweder im vollen Funktionsumfang betrieben werden, also mit allen Mandanten sichtbar, oder direkt mit nur einem Mandanten.
Der Sysop wird über die URL des Zphone aufgerufen. Wenn also die IP des Zphone Servers die 192.168.1.100 ist, so lautet die URL:

http://192.168.1.100:99/sysop/

Wenn man eine Mandanten direkt aufrufen will, so lautet die URL:

http://192.168.1.100:99/sysop/customer_show.php?fk_id=1

Wobei fk_id die SystemID von jeweiligen Mandanten ist. Dieses sieht man, wenn man einen Mandanten bearbeitet. Diese wird in der ersten Zeile angezeigt.


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.