Sysop installieren
Aus metasec wiki
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.
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.