Sysop installieren
Inhaltsverzeichnis
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.