|
|
(4 intermediate revisions by one other user not shown) |
Line 8: |
Line 8: |
| * misdn-Treiber so wie im Kernel vorhanden | | * misdn-Treiber so wie im Kernel vorhanden |
| | | |
− | == misdn Konfiguration == | + | == Gepatchtes == |
− | === /etc/misdn_init.conf === | + | === CallerID-Prefix für chan_iax2 === |
− | <pre>
| |
− | #
| |
− | # Configuration file for your misdn hardware
| |
− | #
| |
− | # Usage: /etc/init.d/misdn-init start|stop|restart|config|scan|help
| |
− | #
| |
| | | |
− | #
| + | Ich habe leider keine Möglichkeit gefunden, mit Asterisk ein Prefix für CallerIDs bei IAX-Verbindungen anzugeben. |
− | # Card Settings
| + | Wir brauchen das, um die Rückrufroute in der Rufnummer zu vermerken. |
− | #
| |
| | | |
− | card=1,hfcpci
| + | Nehmen wir an, ich rufe mit meinem Telefon zuhause, das dort die CallerID 201 besitzt, über die Hamburger Vermittlung in Köln an: |
− | card=2,hfcpci
| |
| | | |
− | #
| + | [Köln] <- [Hamburg] <- [packbarthome] |
− | # Port settings
| |
− | #
| |
− | # Syntax: <port_type>=<port_number>[,<port_number>...]
| |
− | #
| |
− | # <port_type> te_ptp - TE-Mode, PTP
| |
− | # te_ptmp - TE-Mode, PTMP
| |
− | # nt_ptp - NT-Mode, PTP
| |
− | # nt_ptmp - NT-Mode, PTMP
| |
− | # <port_number> port that should be considered
| |
− | #
| |
| | | |
− | # Karte 1 (unten) extern = PTP, TE-Modus
| + | In Köln soll eine CallerID angezeigt werden, über die ein Rückruf über genau die Route möglich ist, über die angerufen wird. |
− | te_ptp=1
| + | Die dafür nötigen Prefixe sind aber nur den angerufenen Vermittlungen bekannt, nicht der anrufenden: |
− | # Karte 2 (oben) intern = PTMP, NT-Modus
| |
− | nt_ptmp=2
| |
| | | |
− | #
| + | Prefix: 94 -> Prefix: 828 -> Durchwahl: 201 |
− | # Port Options
| |
− | #
| |
| | | |
− | # keine ...
| + | Mit diesem Patch ist es möglich, in der iax.conf für type=friend oder type=user eine Option 'calleridprefix' anzugeben. |
− | </pre>
| + | Diese wird eingehenden CallerIDs bei Anrufen dieses Users vorangestellt. |
| | | |
− | === /etc/asterisk/misdn.conf ===
| + | [http://hendrek.frell.ambush.de/~packbart/asterisk_1_2_chan_iax2_calleridprefix.patch asterisk_1_2_chan_iax2_calleridprefix.patch] |
− | <pre>
| + | UNIQ796ba5ba98e0ea7-pre-0000000B-QINU |
− | [general]
| |
− | debug=4
| |
− | method=standard
| |
− | tracefile=/var/log/misdn.trace
| |
− | appnd_digits2exten=yes
| |
− | bridging=no
| |
| | | |
− | [default]
| + | == misdn Konfiguration == |
− | context=pbx-trunk
| + | === /etc/misdn_init.conf === |
− | language=de
| + | UNIQ796ba5ba98e0ea7-pre-0000000C-QINU |
− | nationalprefix=0
| |
− | internationalprefix=00
| |
− | rxgain=0
| |
− | txgain=0
| |
− | dialplan=0
| |
| | | |
− | ; interner ISDN-Bus (PTMP = Mehrgeraeteanschluss)
| + | === /etc/asterisk/misdn.conf === |
− | [internal1]
| + | UNIQ796ba5ba98e0ea7-pre-0000000D-QINU |
− | context=pbx-trunk
| |
− | ports=2
| |
− | msn=*
| |
− | | |
− | ; externer ISDN-Bus (PTP = Anlagenanschluss)
| |
− | [wall]
| |
− | context=wall-trunk
| |
− | ports=1
| |
− | msn=*
| |
− | </pre>
| |
| | | |
| === Nebenstellenfreizeichen mit misdn === | | === Nebenstellenfreizeichen mit misdn === |
Line 83: |
Line 40: |
| -- [[User:Packbart|packbart]] 16:27, 20 Feb 2006 (CET) | | -- [[User:Packbart|packbart]] 16:27, 20 Feb 2006 (CET) |
| | | |
− | <pre> | + | Dieser Patch ist für misdn 0.2.x.<br> |
− | --- isdn_lib.c 2005-12-02 16:15:56.000000000 +0100
| + | misdn 0.3.x benutzt den "dial"-Ton aus der indications.conf. Für das Nebenstellenfreizeichen habe ich den Ton folgendermassen geändert: |
− | +++ isdn_lib.c 2006-02-15 04:07:51.000000000 +0100
| + | UNIQ796ba5ba98e0ea7-pre-0000000E-QINU |
− | @@ -148,6 +148,13 @@
| + | -- [[User:Packbart|packbart]] 12:48, 26 Mar 2006 (CEST) |
− | #define TONE_BUSY_CNT 20 /* ? */
| + | |
− | #define TONE_BUSY_SILENCE_CNT 48 /* ? */
| + | |
− |
| + | UNIQ796ba5ba98e0ea7-pre-0000000F-QINU |
− | +#define TONE_DIAL_CNT 7
| |
− | +#define TONE_DIAL_SILENCE_CNT 14
| |
− | +#define TONE_DIAL_CNT2 21
| |
− | +#define TONE_DIAL_SILENCE_CNT2 28
| |
− | +#define TONE_DIAL_CNT3 35
| |
− | +#define TONE_DIAL_SILENCE_CNT3 77
| |
− | +
| |
− | static int entity;
| |
− | static struct misdn_lib *glob_mgr;
| |
− | @@ -1800,17 +1807,23 @@
| |
− |
| |
− | switch(bc->tone) {
| |
− | case TONE_DIAL:
| |
− | - { | |
− | - frm->len = TONE_425_SIZE; | |
− | - memcpy(&buf[mISDN_HEADER_LEN], tone_425_flip,TONE_425_SIZE);
| |
− | -
| |
− | - r=mISDN_write(stack->midev, buf, frm->len + mISDN_HEADER_LEN, TIMEOUT_1SEC);
| |
− | - if (r<frm->len) {
| |
− | - perror("Error written less than told bytes :(\n");
| |
− | + bc->tone_cnt2++;
| |
− | +
| |
− | + if ((bc->tone_cnt2 <= TONE_DIAL_CNT) || (bc->tone_cnt2 > TONE_DIAL_SILENCE_CNT && bc->tone_cnt2 <= TONE_DIAL_CNT2) || (bc->tone_cnt2 > TONE_DIAL_SILENCE_CNT2 && bc->tone_cnt2 <= TONE_DIAL_CNT3)) {
| |
− | + frm->len = TONE_425_SIZE;
| |
− | + memcpy(&buf[mISDN_HEADER_LEN], tone_425_flip,TONE_425_SIZE);
| |
− | + r=mISDN_write(stack->midev, buf, frm->len + mISDN_HEADER_LEN, TIMEOUT_1SEC);
| |
− | + if (r<frm->len) {
| |
− | + perror("Error written less than told bytes :(\n");
| |
− | + }
| |
− | + } else if ((bc->tone_cnt2 <= TONE_DIAL_SILENCE_CNT) || (bc->tone_cnt2 > TONE_DIAL_CNT2 && bc->tone_cnt2 <= TONE_DIAL_SILENCE_CNT2) || (bc->tone_cnt2 > TONE_DIAL_CNT3 && bc->tone_cnt2 <= TONE_DIAL_SILENCE_CNT3)) {
| |
− | + frm->len = TONE_SILENCE_SIZE;
| |
− | + memcpy(&buf[mISDN_HEADER_LEN], tone_silence_flip ,TONE_SILENCE_SIZE);
| |
− | + r=mISDN_write(stack->midev, buf, frm->len + mISDN_HEADER_LEN, TIMEOUT_1SEC);
| |
− | + } else {
| |
− | + bc->tone_cnt2=-1;
| |
− | }
| |
− | - }
| |
− | - break;- | |
− | + break;
| |
− | case TONE_ALERTING:
| |
− | bc->tone_cnt2++;
| |
− |
| |
− | </pre>
| |
| | | |
| == Asterisk Konfiguration == | | == Asterisk Konfiguration == |
| === /etc/asterisk/extensions.conf === | | === /etc/asterisk/extensions.conf === |
− | <pre>
| + | UNIQ796ba5ba98e0ea7-pre-00000010-QINU |
− | ;;
| |
− | ;; vermittlung.hamburg.ccc.de
| |
− | ;; $Id$
| |
− | ;;
| |
− | ;;
| |
− | ;; TODO:
| |
− | ;; - MeetMe funktioniert nur mit Zaptel-Timer
| |
− | ;; - ztdummy installieren: kernel laedt noch genrtc, braucht rtc
| |
− | ;; - Voicemail richten
| |
− | ;; - stdexten Macro und/oder ISDN_* Variablen benutzen
| |
− | ;; - chaosfon-dialout einrichten
| |
− | ;; - Verbindungen ueber das VPN ausbauen
| |
− | ;; - MetaRheinMain auf IAX umstellen
| |
− | ;; (Vorteil: Rufnummernuebermittlung, Dialplan-Flexibilitaet, $Dinge)
| |
− | ;; - HHH anbinden
| |
− | ;; - thalunil hat eine Voice-Flatrate
| |
− | ;; - Angriffsvektoren aufspueren, loesen & erlaeutern
| |
− | ;; - wer von wo wohin
| |
− | ;; - Loops ueber VPN
| |
− | ;; - den pbx-trunk duerfen nur interne Telefone erreichen
| |
− | ;; - lose Enden finden & beheben (Goto, Dial, Voicemail...)
| |
− | ;; - TODOs erledigen
| |
− | ;; - Alle Durchwahlen testen
| |
− | ;; - Das DIALOUTPW aendern und aus dem Wiki nehmen
| |
− | ;;
| |
− | | |
− | | |
− | | |
− | [general]
| |
− | ;;
| |
− | ;; http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+General
| |
− | ;;
| |
− | | |
− | static=yes
| |
− | writeprotect=yes
| |
− | autofallthrough=yes
| |
− | clearglobalvars=yes
| |
− | priorityjumping=no
| |
− | | |
− | | |
− | | |
− | [globals]
| |
− | ;;
| |
− | ;; http://www.voip-info.org/wiki/index.php?page=Asterisk+Dialplan+Globals
| |
− | ;;
| |
− | | |
− | ;; Gruppenrufe
| |
− | ;; TODO: sinnvolle Anrufketten einrichten
| |
− | ;;
| |
− | ;; Folgendes funktioniert nicht ganz, da wir intern nur 2 B-Kanaele haben
| |
− | ;; Wir koennten auf der DECT-Anlage einen Gruppenruf einrichten
| |
− | ;ZENTRALE_EXTERN=Local/office-isdn@phones&Local/office-dect@phones&SIP/zentrale
| |
− | ;ZENTRALE_INTERN=Local/office-isdn@phones&Local/office-dect@phones&Local/packbart@phones&Local/alx@phones&Local/pirx@phones&Local/ali@phones&Local/bayer@phones
| |
− | ; -23 klingelt auch auf -26 und -27:
| |
− | ZENTRALE_EXTERN=Local/office-isdn@phones
| |
− | ZENTRALE_CHAOSFON=Local/office-isdn@phones&IAX2/packbartvpnhome/801
| |
− | ZENTRALE_INTERN=Local/office-isdn@phone
| |
− | ZENTRALE_INTERN2=Local/office-isdn@phones
| |
− | ZENTRALE_MAILBOX=800@default
| |
− | | |
− | PRESSE=Local/ali@phones
| |
− | PRESSE2=Local/ali@phones
| |
− | ;PRESSE2=Local/ali@phones&${ISDN_WALL}/<somewhereelse>
| |
− | PRESSE_MAILBOX=601@default
| |
− | | |
− | ;KASSE=Local/bayer@phones
| |
− | | |
− | | |
− | ;; FreeWorldDialup Account
| |
− | FWDNUMBER=714542
| |
− | FWDCIDNAME=ccchh
| |
− | | |
− | | |
− | ;; Passwort fuer Amtsholung aus dem VPN
| |
− | DIALOUTPW=2423
| |
− | | |
− | | |
− | ;; ISDN-Kanaele (misdn, ZAP, etc.)
| |
− | ISDN_WALL=misdn/g:wall
| |
− | ISDN_INTERNAL=misdn/g:internal1
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Eingehende Verbindungen
| |
− | ;;
| |
− | | |
− | | |
− | | |
− | [wall-trunk]
| |
− | ;;
| |
− | ;; Anrufe von aussen
| |
− | ;;
| |
− | | |
− | include => catchall
| |
− | | |
− | exten => 4018010,1,Goto(phones,zentrale,extern)
| |
− | | |
− | ;; Zentrale ueber -800 abfangen
| |
− | ;exten => 401801800,1,Goto(phones,zentrale,extern)
| |
− | | |
− | ;; Wir haben hier noch ein Problem:
| |
− | ;; Rufe kommen erst an der Anlage an, wenn 401801X gewaehlt wurde und
| |
− | ;; erreichen niemals die s Extension. Bei langsam waehlenden Telefonen
| |
− | ;; springt das Goto zu kurz.
| |
− | ;exten => _401801!,1,GotoIf($["${EXTEN:6}" != ""]?extensions,${EXTEN:6},1:extensions,s,1)
| |
− | | |
− | ;; Wir braeuchten ein "include" mit Praefix
| |
− | ;include => extensions
| |
− | ;; oder einen [extensions-wall] Kontext,
| |
− | ;; der alle Durchwahlen mit Praefix enthaelt
| |
− | ;include => extensions-wall
| |
− | | |
− | ; Dies ist keine schoene Loesung, da sie das Timeout auch fuer
| |
− | ; Blockwahl erzwingt und 3s fuer Handwahl immer noch zu kurz sind
| |
− | exten => _401801X.,1,Set(predigits=${EXTEN:6})
| |
− | exten => _401801X.,n,Goto(timeout-helper-foo,s,1)
| |
− | | |
− | [timeout-helper-foo]
| |
− | exten => s,1,Set(TIMEOUT(digit)=3,TIMEOUT(response)=3)
| |
− | exten => s,n,WaitExten
| |
− | exten => _X.,1,GotoIf($["${predigits}${EXTEN}" != ""]?extensions,${predigits}${EXTEN},1:extensions,s,1)
| |
− | exten => t,1,GotoIf($["${predigits}" != ""]?extensions,${predigits},1:extensions,s,1)
| |
− | | |
− | | |
− | | |
− | [pbx-trunk]
| |
− | ;;
| |
− | ;; Anrufe von innen
| |
− | ;;
| |
− | | |
− | include => catchall
| |
− | include => dialout
| |
− | include => extensions
| |
− | | |
− | | |
− | | |
− | [vpn-trunk]
| |
− | ;;
| |
− | ;; Anrufe aus dem VPN
| |
− | ;; ohne Dialout
| |
− | ;;
| |
− | | |
− | ;; Klappt leider nicht so, wie es soll und verschluckt
| |
− | ;; manchmal eine Ziffer:
| |
− | ;exten => s,1,Background(chaosvpn_hamburg_willkommen)
| |
− | exten => s,1,NoOp
| |
− | | |
− | exten => i,1,Answer
| |
− | exten => i,n,Playback(chaosvpn_hamburg_hamwanich)
| |
− | exten => i,n,PlayTones(info)
| |
− | exten => i,n,Hangup
| |
− | | |
− | exten => 0,1,Goto(phones,zentrale,intern)
| |
− | | |
− | exten => zentrale,1,Goto(phones,zentrale,intern)
| |
− | | |
− | include => catchall
| |
− | include => extensions
| |
− | | |
− | ;; TODO: Einen [named-extensions] o.ae. ([extensions-named?]) context anlegen, um
| |
− | ;; genauer definieren zu koennen, welche Namen erreichbar sind.
| |
− | ;;
| |
− | ;; Alle Namen aus [phones] sind erreichbar
| |
− | include => phones
| |
− | | |
− | | |
− | | |
− | [vpn-trunk-dialout]
| |
− | ;;
| |
− | ;; Anrufe aus dem VPN
| |
− | ;; mit Dialout
| |
− | ;;
| |
− | | |
− | ;; Dialout via ISDN
| |
− | ;; TODO: 110 + 112 + die ueblichen Verdaechtigen sperren
| |
− | ;exten => _10!,1,Authenticate(${DIALOUTPW})
| |
− | ;exten => _10!,n,GotoIf($["${EXTEN:2}" != ""]?dialout-isdn,${EXTEN:2},1:dialout-isdn,s,1)
| |
− | | |
− | include => vpn-trunk
| |
− | ;; Die 0 fuer isdn-dialout wird vom vpn-trunk bereits ueberschrieben
| |
− | ;include => dialout
| |
− | | |
− | | |
− | | |
− | [sip-trunk]
| |
− | ;;
| |
− | ;; Anrufe an SIP/irgendwer@hamburg.ccc.de
| |
− | ;; ohne Dialout
| |
− | ;;
| |
− | | |
− | exten => i,1,Answer
| |
− | exten => i,n,Playback(chaosvpn_hamburg_hamwanich)
| |
− | exten => i,n,PlayTones(info)
| |
− | exten => i,n,Hangup
| |
− | | |
− | exten => 0,1,Goto(phones,zentrale,extern)
| |
− | | |
− | ;; #: Nachwahl fuer NAT-Verbindungen
| |
− | exten => #,1,Goto(extensions-interactive,s,1)
| |
− | | |
− | include => catchall
| |
− | include => extensions
| |
− | | |
− | ;; TODO: Einen [named-extensions] o.ae. context anlegen, um
| |
− | ;; genauer definieren zu koennen, welche Namen erreichbar sind.
| |
− | ;;
| |
− | ;; Alle Namen aus [phones] sind erreichbar
| |
− | include => phones
| |
− | | |
− | | |
− | | |
− | [fromiaxfwd]
| |
− | ;;
| |
− | ;; Eingehender Anruf ueber FreeWorldDialup
| |
− | ;;
| |
− | | |
− | exten => ${FWDNUMBER},1,Goto(phones,zentrale,extern)
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | [guest]
| |
− | ;;
| |
− | ;; Eingehende IAX-Verbindungen unbekannter Peers
| |
− | ;;
| |
− | | |
− | exten => i,1,Answer
| |
− | exten => i,n,Playback(chaosvpn_hamburg_hamwanich)
| |
− | exten => i,n,PlayTones(info)
| |
− | exten => i,n,Hangup
| |
− | | |
− | exten => 0,1,Goto(phones,zentrale,extern)
| |
− | | |
− | include => catchall
| |
− | include => extensions
| |
− | | |
− | ;; TODO: Einen [named-extensions] o.ae. context anlegen, um
| |
− | ;; genauer definieren zu koennen, welche Namen erreichbar sind.
| |
− | ;;
| |
− | ;; Alle Namen aus [phones] sind erreichbar
| |
− | include => phones
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;;
| |
− | ;;
| |
− | | |
− | | |
− | | |
− | [extensions]
| |
− | ;;
| |
− | ;; allgemeine Durchwahlen. Von aussen, innen und uebers Internet/VPN erreichbar
| |
− | ;; http://wiki.hamburg.ccc.de/index.php/VOIP:Durchwahlen
| |
− | ;;
| |
− | | |
− | ; * 1
| |
− | | |
− | | |
− | | |
− | ; * 2
| |
− | | |
− | exten => 23,1,Goto(phones,office-isdn,1)
| |
− | | |
− | exten => 26,1,Goto(phones,office-dect,1)
| |
− | | |
− | | |
− | | |
− | ; * 3
| |
− | | |
− | ;; alte Voicebox - Nummer aufheben
| |
− | ;exten => 31,1,NoOp
| |
− | | |
− | | |
− | | |
− | ; * 4 Funktionsbereich offizielle Clubnummern
| |
− |
| |
− | exten => 40,1,SetVar(EMAIL=mail@ccc.de)
| |
− | exten => 40,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 41,1,Goto(phones,papierfax,1)
| |
− | ;exten => 41,1,SetVar(EMAIL=office@ccc.de)
| |
− | ;exten => 41,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 42,1,SetVar(EMAIL=mail@ccc.de)
| |
− | exten => 42,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 4300,1,Goto(phones,chaosfon,1)
| |
− | exten => 43010,1,Goto(phones,chaosfon-login,1)
| |
− | | |
− | exten => 4601,1,Goto(phones,presse,1)
| |
− | | |
− | exten => 4666,1,Goto(phones,frollein,1)
| |
− | | |
− | | |
− | | |
− | ; * 5 Funktionsbereich Faxnummern
| |
− | | |
− | exten => 50,1,SetVar(EMAIL=mail@hamburg.ccc.de)
| |
− | exten => 50,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 51,1,SetVar(EMAIL=zahlstelle@ccc.de)
| |
− | exten => 51,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 52,1,SetVar(EMAIL=vorstand@ccc.de)
| |
− | exten => 52,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 53,1,SetVar(EMAIL=pressesprecher@ccc.de)
| |
− | exten => 53,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 54,1,SetVar(EMAIL=ds@ccc.de)
| |
− | exten => 54,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 55,1,SetVar(EMAIL=anonymizer@ccc.de)
| |
− | exten => 55,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 5601,1,SetVar(EMAIL=presse@hamburg.ccc.de)
| |
− | exten => 5601,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 5666,1,SetVar(EMAIL=frollein@vermittlung.hamburg.ccc.de)
| |
− | exten => 5666,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 57,1,SetVar(EMAIL=packbart@formularfetischisten.de)
| |
− | exten => 57,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | ;; TODO: 58xx den Nummern von 8xx anpassen
| |
− | | |
− | exten => 5801,1,SetVar(EMAIL=bayer@hamburg.ccc.de)
| |
− | exten => 5801,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | exten => 5802,1,SetVar(EMAIL=haegar@ccc.de)
| |
− | exten => 5802,n,Goto(mailfax,${EXTEN},1)
| |
− | | |
− | | |
− | | |
− | ; * 6 Funktionsbereich Voicemail
| |
− | | |
− | exten => 6000,1,VoiceMailMain()
| |
− | exten => 6000,n,Hangup()
| |
− | | |
− | ;; 61XXX fuer Erweiterungen?
| |
− | | |
− | ;; TODO: 68XX den Nummern von 8xx anpassen
| |
− | ;; (827 -> alx, 828 -> packbart, etc.)
| |
− | | |
− | exten => _6NXX,1,Voicemail(${EXTEN:1}@default)
| |
− | exten => _6NXX,n,Hangup()
| |
− | | |
− | | |
− | | |
− | ; * 7 Funktionsbereich Verschiedenes/Spielzeuge
| |
− | | |
− | ; ** 71 Konferenz
| |
− | | |
− | exten => 7100,1,MeetMe(${EXTEN:2})
| |
− | exten => _711XX,1,MeetMe(${EXTEN:2})
| |
− | exten => _71NX,1,MeetMe(${EXTEN:2})
| |
− | | |
− | | |
− | ; ** 7701 Spielzeug: Sascha Ludwigs Labyrinth ueber IAX - klickstu http://www.astrastudio.de/
| |
− | | |
− | exten => 7701,1,Dial(IAX2/home.astrastudio.de/2088@default)
| |
− | exten => 7701,2,Hangup
| |
− | | |
− | | |
− | ; ** 78 Streams
| |
− | | |
− | exten => 7806,1,Answer
| |
− | exten => 7806,n,Goto(phones,stream-nerdsonair,orange)
| |
− | | |
− | exten => 7807,1,Answer
| |
− | exten => 7807,n,Goto(phones,stream-cradar,radiodarmstadt)
| |
− | | |
− | | |
− | ; ** 7901 Echotest
| |
− | | |
− | exten => 7901,1,Macro(echotest)
| |
− | | |
− | | |
− | | |
− | ; * 8 Funktionsbereich Mitgliedertelefone
| |
− | | |
− | ;; Zentrale intern
| |
− | exten => 800,1,Goto(phones,zentrale,intern)
| |
− | | |
− | ;; Alx
| |
− | exten => 827,1,Goto(phones,alx,1)
| |
− | | |
− | | |
− | ;; Ali
| |
− | exten => 877,1,Goto(phones,ali,1)
| |
− | exten => _877X!,1,Set(SWITCHTO=alivpnlardass)
| |
− | exten => _877X!,n,GotoIf($["${EXTEN:3}" != ""]?tochaos_iax,${EXTEN:3},1:tochaos_iax,s,1)
| |
− | | |
− | ;; Hauke
| |
− | exten => _828,1,Goto(phones,packbart,1)
| |
− | ;; ohne TIMEOUT(digit) tut das nicht ohne Blockwahl:
| |
− | exten => _828X!,1,Set(SWITCHTO=packbartvpnhome)
| |
− | exten => _829X!,n,GotoIf($["${EXTEN:3}" != ""]?tochaos_iax,${EXTEN:3},1:tochaos_iax,s,1)
| |
− | exten => 829,1,Answer
| |
− | exten => 829,n,MusicOnHold(chaosmix)
| |
− | ;exten => 829,n,Playback(test)
| |
− | ;exten => 829,1,Dial(IAX2/packbart@openchaos.org)
| |
− | ;exten => 829,1,Dial(SIP/packbart@openchaos.org)
| |
− | exten => _829!,1,Set(SWITCHTO=packbartvpnhome)
| |
− | exten => _829!,n,GotoIf($["${EXTEN:3}" != ""]?tochaos_iax,${EXTEN:3},1:tochaos_iax,s,1)
| |
− | | |
− | ;debug: Tim
| |
− | ;exten => 816,1,Dial(SIP/17476300563@proxy01.sipphone.com)
| |
− | | |
− | ;; Bayer
| |
− | exten => 830,1,Goto(phones,bayer,1)
| |
− | | |
− | | |
− | | |
− | ; * 9 Funktionsbereich Chaos-VPN
| |
− | | |
− | ;exten => _92!,1,Set(SWITCHTO=cccc)
| |
− | ;exten => _92!,n,GotoIf($["${EXTEN:2}" != ""]?tochaos_iax,${EXTEN:2},1:tochaos_iax,s,1)
| |
− | | |
− | ;exten => _93!,1,Set(SWITCHTO=cccb)
| |
− | ;exten => _93!,n,GotoIf($["${EXTEN:2}" != ""]?tochaos_iax,${EXTEN:2},1:tochaos_iax,s,1)
| |
− | | |
− | ;exten => _94!,1,Set(SWITCHTO=ccchh)
| |
− | ;exten => _94!,n,GotoIf($["${EXTEN:2}" != ""]?tochaos_iax,${EXTEN:2},1:tochaos_iax,s,1)
| |
− | | |
− | ;exten => _96!,1,Set(SWITCHTO=metarheinmain)
| |
− | ;exten => _96!,n,GotoIf($["${EXTEN:2}" != ""]?tochaos_iax,${EXTEN:2},1:tochaos_iax,s,1)
| |
− | exten => _96!,1,Set(SWITCHTO=metarheinmain,CALLERID(name)=${CALLERID(number)})
| |
− | exten => _96!,n,GotoIf($["${EXTEN:2}" != ""]?tochaos_sip,${EXTEN:2},1:tochaos_sip,s,1)
| |
− | | |
− | ;exten => _991!,1,Set(SWITCHTO=hhh)
| |
− | ;exten => _991!,n,GotoIf($["${EXTEN:3}" != ""]?tochaos_iax,${EXTEN:3},1:tochaos_iax,s,1)
| |
− | | |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;;
| |
− | ;;
| |
− | | |
− | | |
− | [phones]
| |
− | ;;
| |
− | ;; Benamste Rufempfaenger (Funktionen, Telefone, Personen, Dinge)
| |
− | ;;
| |
− | | |
− | ;;
| |
− | ;; Zentrale
| |
− | ;;
| |
− | | |
− | ;; Diese Prio sollten eigentlich nur SIP- und IAX-Anrufe
| |
− | ;; an "zentrale" erreichen. Behandeln wie extern.
| |
− | | |
− | exten => zentrale,1,Goto(extern)
| |
− | | |
− | ;; Zentrale von aussen: 20s Office klingen lassen, dann abwimmeln
| |
− | | |
− | exten => zentrale,n(extern),Dial(${ZENTRALE_EXTERN},20)
| |
− | exten => zentrale,n,Playback(cccansage)
| |
− | exten => zentrale,n,Hangup
| |
− | | |
− | ;; Zentrale von innen/aus dem VPN: 20s Office klingeln lassen,
| |
− | ;; dann 35s Office + Mitglieder anklingeln, dann Voicemail
| |
− | | |
− | exten => zentrale,n(intern),Dial(${ZENTRALE_INTERN},20)
| |
− | exten => zentrale,n,Dial(${ZENTRALE_INTERN2},35)
| |
− | exten => zentrale,n,Voicemail(${ZENTRALE_MAILBOX})
| |
− | exten => zentrale,n,Hangup
| |
− | | |
− | ;; Zentrale ueber 0700-CHAOSFON: Office klingeln lassen,
| |
− | ;; keine eigene Voicemail
| |
− | | |
− | exten => zentrale,n(chaosfon),Dial(${ZENTRALE_CHAOSFON})
| |
− | exten => zentrale,n,Hangup
| |
− | | |
− | | |
− | ;;
| |
− | ;; Pressefon
| |
− | ;;
| |
− | | |
− | exten => presse,1,Dial(${PRESSE},20)
| |
− | exten => presse,n,Dial(${PRESSE2},20)
| |
− | exten => presse,n,Voicemail(${PRESSE_MAILBOX})
| |
− | exten => presse,n,Hangup
| |
− | | |
− | | |
− | ;;
| |
− | ;; 0700-CHAOSFON
| |
− | ;;
| |
− | | |
− | exten => chaosfon,1,Goto(chaosfon-menue,s,1)
| |
− | ;debug:
| |
− | exten => chaosfon-login,1,AgentCallbackLogin(,,@chaosfon-dialout)
| |
− | | |
− | ; Voicemail presse@ccc.de
| |
− | ; Andy moechte per SIP auf die Voicemail weiterleiten koennen
| |
− | ;
| |
− | ; TODO: - nochmal drueber nachdenken, redundant zum chaosfon-menue
| |
− | ; -> Macro(chaosfon-voicemail)?
| |
− | ; - er haette auch gern ne Durchwahl dafuer
| |
− | ;
| |
− | exten => chaosfon-pressebox,1,Answer
| |
− | exten => chaosfon-pressebox,n,Playback(chaosfon_vm-intro)
| |
− | exten => chaosfon-pressebox,n,Voicemail(s03@chaosfon-voicemail)
| |
− | exten => chaosfon-pressebox,n,Hangup
| |
− | | |
− | | |
− | ;;
| |
− | ;; 0900-CHAOSFON
| |
− | ;;
| |
− | | |
− | ;; I dare to dream
| |
− | ;exten => windowssupport,1,Answer
| |
− | ;exten => windowssupport,n,SetMusicOnHold(cashcows)
| |
− | ;exten => windowssupport,n,Background(cashcows-welcome)
| |
− | ;exten => windowssupport,n,Queue(cashcows)
| |
− | ;exten => windowssupport,n,Hangup
| |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Telefone
| |
− | ;;
| |
− | | |
− | exten => office-isdn,1,Dial(${ISDN_INTERNAL}/23,,t)
| |
− | | |
− | exten => office-dect,1,Dial(${ISDN_INTERNAL}/26,,t)
| |
− | | |
− | exten => office-ml210,1,Dial(SIP/office-ml210,,t)
| |
− | | |
− | exten => papierfax,1,Dial(${ISDN_INTERNAL}/41,,t)
| |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Loide
| |
− | ;;
| |
− | | |
− | ;; packbart: 45s DECT + daheim + SIP klingen lassen, dann Voicemail
| |
− | | |
− | exten => packbart,1,Dial(${ISDN_INTERNAL}/28&IAX2/packbartvpnhome/0&SIP/packbartstarcom,45)
| |
− | exten => packbart,n,Voicemail(828@default)
| |
− | exten => packbart,n,Hangup
| |
− | | |
− | exten => packbarthome,1,Dial(IAX2/packbartvpnhome/0)
| |
− | | |
− | ;; Alx: 45s DECT, dann Voicemail
| |
− | | |
− | exten => alx,1,Dial(${ISDN_INTERNAL}/27,45)
| |
− | exten => alx,n,Voicemail(827@default)
| |
− | exten => alx,n,Hangup
| |
− | | |
− | ;; Ali: 45s daheim + SIP klingen lassen, dann Voicemail
| |
− | | |
− | exten => ali,1,Dial(IAX2/alivpnlardass/88177799)
| |
− | ;exten => ali,1,Dial(IAX2/alivpnlardass/88177799&SIP/ali,45)
| |
− | exten => ali,n,Voicemail(877@default)
| |
− | exten => ali,n,Hangup
| |
− | | |
− | ;; Bayer:
| |
− | | |
− | ;exten => bayer,1,NoOp
| |
− | ;exten => bayer,n,Hangup
| |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Dinge
| |
− | ;;
| |
− | | |
− | ;exten => stream-chaosradio,1,Answer
| |
− | ;exten => stream-chaosradio,n(vishnu),MP3Player(http://vishnu.netfilter.org:2342/chaosradio-lq.mp3)
| |
− | ;exten => stream-chaosradio,n,Hangup
| |
− | | |
− | exten => stream-nerdsonair,1,Answer
| |
− | exten => stream-nerdsonair,n(orange),MP3Player(http://orange-01.live.sil.at:8000/)
| |
− | exten => stream-nerdsonair,n,Hangup
| |
− | | |
− | exten => stream-cradar,1,Answer
| |
− | exten => stream-cradar,n(radiodarmstadt),MP3Player(http://213.202.240.45:8000/)
| |
− | exten => stream-cradar,n,Hangup
| |
− | | |
− | exten => echotest,1,Macro(echotest)
| |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Konferenzen
| |
− | ;; TODO: Konferenzen auf einen anderen Server
| |
− | ;; (Hetzner-Kiste o.ae.) verlegen, der Bandbreite wegen
| |
− | ;;
| |
− | | |
− | exten => freifunken,1,MeetMe(1201,cds)
| |
− | exten => freifunken,n,Playback(vm-goodbye)
| |
− | exten => freifunken,n,Hangup
| |
− | | |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Abgehende Verbindungen
| |
− | ;;
| |
− | | |
− | [dialout]
| |
− | ;;
| |
− | ;; Anwahl nach aussen ueber verschiedene Provider
| |
− | ;;
| |
− | | |
− | ;; Dialout via ISDN
| |
− | exten => _0!,1,GotoIf($["${EXTEN:1}" != ""]?dialout-isdn,${EXTEN:1},1:dialout-isdn,s,1)
| |
− | | |
− | ;; Dialout via ChaosVPN
| |
− | exten => _13!,1,GotoIf($["${EXTEN:2}" != ""]?dialout-chaosvpn,${EXTEN:2},1:dialout-chaosvpn,s,1)
| |
− | | |
− | ;; Dialout via FreeWorldDialup
| |
− | exten => _14!,1,GotoIf($["${EXTEN:2}" != ""]?dialout-iaxfwd,${EXTEN:2},1:dialout-iaxfwd,s,1)
| |
− | | |
− | | |
− | | |
− | [dialout-isdn]
| |
− | ;;
| |
− | ;; ${ISDN_WALL}
| |
− | ;; TODO: - Priorisierung: Wenn alle Kanaele belegt
| |
− | ;; sind und einer davon CHAOSFON oder vpn-dialout:
| |
− | ;; Abwerfen mit $Taste
| |
− | ;;
| |
− | | |
− | exten => s,1,ChanIsAvail(${ISDN_WALL},j)
| |
− | exten => s,n,PlayTones(dialout)
| |
− | exten => s,n,WaitExten
| |
− | | |
− | exten => s,102,Playback(all-circuits-busy)
| |
− | exten => s,n,PlayTones(congestion)
| |
− | exten => s,n,Congestion
| |
− | | |
− | exten => _X!.,1,ChanIsAvail(${ISDN_WALL},j)
| |
− | exten => _X!.,n,StopPlayTones
| |
− | exten => _X!.,n,Dial(${ISDN_WALL}/${EXTEN},,T)
| |
− | | |
− | exten => _X!.,102,Playback(all-circuits-busy)
| |
− | exten => _X!.,n,PlayTones(congestion)
| |
− | exten => _X!.,n,Congestion
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | [dialout-chaosvpn]
| |
− | ;;
| |
− | ;; IAX2/fnord - Baustelle, noch nicht fertig
| |
− | ;; TODO: - load-balancing ueber Flatrates im VPN
| |
− | ;; - Hoechstens eine Verbindung pro Peer
| |
− | ;; - Fehlerbehandlung
| |
− | ;;
| |
− | | |
− | ;exten => s,1,ChanIsAvail(IAX2/packbartvpnhome,j)
| |
− | ;exten => s,n,PlayTones(dialout)
| |
− | ;exten => s,n,WaitExten
| |
− | | |
− | ;exten => s,102,Playback(all-circuits-busy)
| |
− | ;exten => s,n,PlayTones(congestion)
| |
− | ;exten => s,n,Congestion
| |
− | | |
− | exten => _!.,1,ChanIsAvail(IAX2/packbartvpnhome,j)
| |
− | exten => _!.,n,StopPlayTones
| |
− | exten => _!.,n,Dial(IAX2/packbartvpnhome/10${EXTEN},,T)
| |
− | | |
− | exten => _!.,102,Playback(all-circuits-busy)
| |
− | exten => _!.,n,PlayTones(congestion)
| |
− | exten => _!.,n,Congestion
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | [dialout-iaxfwd]
| |
− | ;;
| |
− | ;; IAX2/iaxfwd (FreeWorldDialup)
| |
− | ;;
| |
− | | |
− | exten => s,1,ChanIsAvail(IAX2/iaxfwd,j)
| |
− | exten => s,n,Set(TIMEOUT(digit)=3)
| |
− | ;exten => s,n,PlayTones(dialout)
| |
− | exten => s,n,WaitExten
| |
− | | |
− | exten => s,102,Playback(all-circuits-busy)
| |
− | exten => s,n,PlayTones(congestion)
| |
− | exten => s,n,Congestion
| |
− | | |
− | exten => _X.,1,ChanIsAvail(IAX2/iaxfwd,j)
| |
− | exten => _X.,n,StopPlayTones
| |
− | exten => _X.,n,Set(CALLERID(name)=${FWDCIDNAME},CALLERID(number)=${FWDNUMBER})
| |
− | exten => _X.,n,Dial(IAX2/iaxfwd/${EXTEN})
| |
− | | |
− | exten => _X.,102,Playback(all-circuits-busy)
| |
− | exten => _X.,n,PlayTones(congestion)
| |
− | exten => _X.,n,Congestion
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; 0700-CHAOSFON
| |
− | ;;
| |
− | ;; https://doku.ccc.de/intern/index.php/Chaosfon
| |
− | ;; https://doku.ccc.de/intern/index.php/0700-CHAOSFON
| |
− | ;; ff.
| |
− | ;;
| |
− | ;; 0: Ansage wiederholen
| |
− | ;;
| |
− | ;; 1: Hackerethik
| |
− | ;; *: 3s zurückspulen
| |
− | ;; 0: Pause
| |
− | ;; #: 3s vorspulen
| |
− | ;; 1: beenden
| |
− | ;;
| |
− | ;; 2: Allgemeine Anfragen (Queue + Voicemail)
| |
− | ;;
| |
− | ;; 3: Presse-Anfragen (Queue + Voicemail)
| |
− | ;;
| |
− | ;; 4: Erfa-Menue
| |
− | ;; 10-19: Erfa-Zentralen/Mitglieder anrufen
| |
− | ;; *: Voicemailabfrage
| |
− | ;; #: Zurueck ins Hauptmenue
| |
− | ;;
| |
− | ;; 5: Datenschleuder (Voicemail)
| |
− | ;;
| |
− | ;; 6: Office (Verweis auf www.ccc.de)
| |
− | ;;
| |
− | ;; *: Voicemailabfrage
| |
− | ;;
| |
− | ;; #: Ausgang
| |
− | ;;
| |
− | ;;
| |
− | | |
− | [chaosfon-menue]
| |
− | ;;
| |
− | ;; Startmenue
| |
− | ;;
| |
− | | |
− | ;;
| |
− | ;; s: Intro und Menue
| |
− | ;;
| |
− | exten => s,1,Answer
| |
− | exten => s,n,Background(silence/1)
| |
− | exten => s,n,Background(chaosfon_menue_intro)
| |
− | exten => s,n(menu),Set(menu_count=0)
| |
− | exten => s,n(menu_repeat),Set(heard_menu=yes,menu_count=$[${menu_count}+1])
| |
− | exten => s,n,Background(chaosfon_menue_dienste)
| |
− | exten => s,n,Background(chaosfon_menue_auswahl)
| |
− | exten => s,n,Background(chaosfon_bitte_waehlen)
| |
− | exten => s,n,WaitExten
| |
− | | |
− | | |
− | ;;
| |
− | ;; 0: Ansage wiederholen
| |
− | ;;
| |
− | exten => 0,1,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; 1: Hackerethik
| |
− | ;;
| |
− | exten => 1,1,Wait(0.5)
| |
− | exten => 1,n,ControlPlayback(chaosfon_hackerethik,3000,#,*,1,0)
| |
− | exten => 1,n,Background(silence/2)
| |
− | exten => 1,n,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; 2: Allgemeine Anfragen
| |
− | ;; - ~45s Anwahlversuch
| |
− | ;; - dann Voicemail
| |
− | ;; TODO: auf Macro(chaosfon-queue) umstellen
| |
− | ;;
| |
− | exten => 2,1,Wait(0.5)
| |
− | exten => 2,n,Playback(chaosfon_allgemein)
| |
− | exten => 2,n,Playback(chaosfon_voicemail)
| |
− | exten => 2,n,Playback(chaosfon_dialout)
| |
− | exten => 2,n,Set(oldcallername=${CALLERID(name)},CALLERID(name)=CHAOSFON Allgemein)
| |
− | exten => 2,n,Queue(chaosfon-allgemein,n)
| |
− | exten => 2,n,Set(CALLERID(name)=${oldcallername})
| |
− | exten => 2,n(voicemail),Playback(chaosfon_vm-intro)
| |
− | exten => 2,n,Voicemail(s02@chaosfon-voicemail)
| |
− | exten => 2,n,Background(silence/2)
| |
− | exten => 2,n,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; 3: Presse
| |
− | ;; - ~45s Anwahlversuch
| |
− | ;; - dann Voicemail
| |
− | ;; TODO: auf Macro(chaosfon-queue) umstellen
| |
− | ;;
| |
− | exten => 3,1,Wait(0.5)
| |
− | exten => 3,n,Playback(chaosfon_presse)
| |
− | exten => 3,n,Playback(chaosfon_dialout2)
| |
− | exten => 3,n,Playback(chaosfon_voicemail2)
| |
− | exten => 3,n,Set(oldcallername=${CALLERID(name)},CALLERID(name)=CHAOSFON Presse)
| |
− | exten => 3,n,Queue(chaosfon-presse,n)
| |
− | exten => 3,n,Set(CALLERID(name)=${oldcallername})
| |
− | exten => 3,n(voicemail),Playback(chaosfon_vm-intro)
| |
− | exten => 3,n,Voicemail(s03@chaosfon-voicemail)
| |
− | exten => 3,n,Background(silence/2)
| |
− | exten => 3,n,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; 4: Erfakreis-Menue
| |
− | ;;
| |
− | exten => 4,1,Goto(chaosfon-erfas,s,1)
| |
− | | |
− | | |
− | ;;
| |
− | ;; 5: Datenschleuder
| |
− | ;; - gleich Voicemail
| |
− | ;;
| |
− | exten => 5,1,Wait(0.5)
| |
− | exten => 5,n(voicemail),Playback(chaosfon_datenschleuder)
| |
− | exten => 5,n,Voicemail(s05@chaosfon-voicemail)
| |
− | exten => 5,n,Background(silence/2)
| |
− | exten => 5,n,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; 6: Office
| |
− | ;; - nur Ansage
| |
− | ;;
| |
− | exten => 6,1,Wait(0.5)
| |
− | exten => 6,n,Playback(chaosfon_office)
| |
− | exten => 6,n,Background(silence/2)
| |
− | exten => 6,n,Goto(s,menu)
| |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; 8: lahmes Osterei
| |
− | exten => 8,1,Wait(0.5)
| |
− | exten => 8,n,Playback(ehrenwort)
| |
− | exten => 8,n,Background(silence/2)
| |
− | exten => 8,n,Goto(s,menu)
| |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; *: Voicemailabfrage
| |
− | ;;
| |
− | exten => *,1,VoiceMailMain(@chaosfon-voicemail)
| |
− | exten => *,n,Background(silence/2)
| |
− | exten => *,n,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; #: Ausgang
| |
− | ;;
| |
− | exten => #,1,Hangup
| |
− | | |
− | | |
− | include => chaosfon-catchall
| |
− | | |
− | | |
− | | |
− | [chaosfon-erfas]
| |
− | ;;
| |
− | ;; Erfakreis-Durchwahlmenue
| |
− | ;;
| |
− | | |
− | ;;
| |
− | ;; s: Intro und Menue
| |
− | ;;
| |
− | exten => s,1,Answer
| |
− | exten => s,n(menu),Set(menu_count=0)
| |
− | exten => s,n(menu_repeat),Set(heard_menu=yes,menu_count=$[${menu_count}+1])
| |
− | exten => s,n,Background(chaosfon_erfas_start)
| |
− | exten => s,n,Background(chaosfon_erfas_auswahl)
| |
− | exten => s,n,Background(chaosfon_bitte_waehlen)
| |
− | exten => s,n,WaitExten
| |
− | | |
− | | |
− | ;;
| |
− | ;; 0: Ansage wiederholen
| |
− | ;;
| |
− | exten => 0,1,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; Durchwahlen & Voicemail fuer Erfas
| |
− | ;;
| |
− | exten => 10,1,Macro(chaosfon-call,10,hamburg,Hamburg)
| |
− | | |
− | exten => 11,1,Macro(chaosfon-call,11,berlin,Berlin)
| |
− | | |
− | exten => 12,1,Macro(chaosfon-call,12,koeln,Koeln)
| |
− | | |
− | exten => 13,1,Macro(chaosfon-call,13,bielefeld,Bielefeld)
| |
− | | |
− | exten => 14,1,Macro(chaosfon-call,14,dresden,Dresden)
| |
− | | |
− | exten => 15,1,Macro(chaosfon-call,15,erlangen,Erlangen)
| |
− | | |
− | exten => 16,1,Macro(chaosfon-call,16,karlsruhe,Karlsruhe)
| |
− | | |
− | exten => 17,1,Macro(chaosfon-call,17,hannover,Hannover)
| |
− | | |
− | exten => 18,1,Macro(chaosfon-call,18,ulm,Ulm)
| |
− | | |
− | exten => 19,1,Macro(chaosfon-call,19,wien,Wien)
| |
− | | |
− | ;exten => 99,1,Macro(chaosfon-call,00,test,Test)
| |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; *: Voicemailabfrage
| |
− | ;;
| |
− | exten => *,1,VoiceMailMain(@chaosfon-voicemail)
| |
− | exten => *,n,Background(silence/2)
| |
− | exten => *,n,Goto(s,menu)
| |
− | | |
− | | |
− | ;;
| |
− | ;; #: Zurueck ins Hauptmenue
| |
− | ;;
| |
− | exten => #,1,Goto(chaosfon-menue,s,menu)
| |
− | | |
− | | |
− | include => chaosfon-catchall
| |
− | | |
− | | |
− | | |
− | [macro-chaosfon-call]
| |
− | ;;
| |
− | ;; - ~45s Anwahlversuch
| |
− | ;; - dann Voicemail
| |
− | ;; - Ruecksprung ins Menue
| |
− | ;; - kein Hangup!
| |
− | ;;
| |
− | ;; ARG1: Voicemail-Nummer
| |
− | ;; ARG2: Ziel fuer Dial() @chaosfon-dialout und fuer Vorwarnungs-Dateinamen
| |
− | ;; ARG3: Name fuer CALLERID
| |
− | ;;
| |
− | ;; TODO: - Queues fuer Erfas?
| |
− | exten => s,1,Answer
| |
− | exten => s,n,Playback(chaosfon_dialout2)
| |
− | exten => s,n,Playback(chaosfon_voicemail)
| |
− | exten => s,n,Set(oldcallername=${CALLERID(name)},CALLERID(name)=CHAOSFON ${ARG3})
| |
− | exten => s,n,Dial(Local/${ARG2}@chaosfon-dialout,45,htm(chaosmix)A(chaosfon_vorwarnung_${ARG2}))
| |
− | exten => s,n,Set(CALLERID(name)=${oldcallername})
| |
− | exten => s,n,Playback(chaosfon_vm-intro)
| |
− | exten => s,n,Voicemail(s${ARG1}@chaosfon-voicemail)
| |
− | exten => s,n,Background(silence/2)
| |
− | exten => s,n,Goto(${MACRO_CONTEXT},s,menu)
| |
− | | |
− | | |
− | | |
− | [macro-chaosfon-queue]
| |
− | ;;
| |
− | ;; - keine eigene Ansage
| |
− | ;; - ~45s Anwahlversuch
| |
− | ;; - dann Voicemail
| |
− | ;; - Ruecksprung ins Menue
| |
− | ;; - kein Hangup!
| |
− | ;;
| |
− | ;; ARG1: Voicemail-Nummer
| |
− | ;; ARG2: chaosfon-Queue
| |
− | ;; ARG3: Name fuer CALLERID
| |
− | ;;
| |
− | exten => s,1,Answer
| |
− | exten => s,n,Set(oldcallername=${CALLERID(name)},CALLERID(name)=CHAOSFON ${ARG3})
| |
− | exten => s,n,Queue(chaosfon-${ARG2},n)
| |
− | exten => s,n,Set(CALLERID(name)=${oldcallername})
| |
− | exten => s,n,Playback(chaosfon_vm-intro)
| |
− | exten => s,n,Voicemail(s${ARG1}@chaosfon-voicemail)
| |
− | exten => s,n,Background(silence/2)
| |
− | exten => s,n,Goto(${MACRO_CONTEXT},s,menu)
| |
− | | |
− | | |
− | | |
− | [chaosfon-catchall]
| |
− | ;;
| |
− | ;; Falsche Eingabe: zurueck zum Start des jeweiligen Menues
| |
− | ;;
| |
− | exten => i,1,Background(invalid)
| |
− | exten => i,n,Background(silence/2)
| |
− | exten => i,n,Goto(s,menu)
| |
− | | |
− | ;;
| |
− | ;; Timeout: - 3x abwechselnd "Bitte waehlen" und Menue
| |
− | ;; - dann auflegen
| |
− | ;;
| |
− | | |
− | exten => t,1,GotoIf($[${menu_count} < 3]?repeat)
| |
− | exten => t,n,PlayTones(info)
| |
− | exten => t,n,Hangup
| |
− | | |
− | exten => t,n(repeat),GotoIf($["${heard_menu}" != "yes"]?s,menu_repeat)
| |
− | exten => t,n,Set(heard_menu=no)
| |
− | exten => t,n,Background(chaosfon_bitte_waehlen)
| |
− | exten => t,n,WaitExten
| |
− | | |
− | | |
− | | |
− | [chaosfon-dialout]
| |
− | ;;
| |
− | ;; Nummern fuer Weiterleitung an Erfas und Callback-Logins
| |
− | ;; z.Zt. noch Baustelle
| |
− | ;; TODO: ergaenzen und absichern
| |
− | ;;
| |
− | | |
− | ;exten => 827,1,Goto(phones,alx,chaosfon)
| |
− | ;exten => 828,1,Goto(phones,packbart,chaosfon)
| |
− | ;exten => 877,1,Goto(phones,ali,chaosfon)
| |
− | | |
− | exten => _829!,1,Set(SWITCHTO=packbartvpnhome)
| |
− | exten => _829!,n,GotoIf($["$["${EXTEN:3}" != ""]" != ""]?tochaos_iax,${EXTEN:3},1:tochaos_iax,s,1)
| |
− | | |
− | | |
− | ;; Anrufkette Hamburg: Anrufkette in [phones] definiert
| |
− | exten => hamburg,1,Goto(phones,zentrale,chaosfon)
| |
− | | |
− | ;; Anrufkette Berlin: Tim anrufen (Vorsicht: eigene Voicebox!)
| |
− | ;exten => berlin,1,Dial(SIP/17476300563@proxy01.sipphone.com,20)
| |
− | ;exten => berlin,1,Dial(IAX2/cccb/fnord)
| |
− | ;exten => berlin,n,Hangup
| |
− | | |
− | ;; Anrufkette Koeln: thalunil anrufen
| |
− | exten => koeln,1,Dial(IAX2/home.kallisti.de/100)
| |
− | ;exten => koeln,1,Dial(IAX2/thalunilvpn/100)
| |
− | ;exten => koeln,1,Dial(IAX2/cccc/fnord)
| |
− | exten => koeln,n,Hangup
| |
− | | |
− | exten => bielefeld,1,NoOp
| |
− | exten => bielefeld,n,Hangup
| |
− | | |
− | exten => dresden,1,NoOp
| |
− | exten => dresden,n,Hangup
| |
− | | |
− | exten => erlangen,1,NoOp
| |
− | exten => erlangen,n,Hangup
| |
− | | |
− | exten => karlsruhe,1,NoOp
| |
− | exten => karlsruhe,n,Hangup
| |
− | | |
− | exten => hannover,1,NoOp
| |
− | exten => hannover,n,Hangup
| |
− | | |
− | exten => ulm,1,NoOp
| |
− | exten => ulm,n,Hangup
| |
− | | |
− | exten => wien,1,NoOp
| |
− | exten => wien,n,Hangup
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Utils
| |
− | ;;
| |
− | | |
− | | |
− | | |
− | [extensions-interactive]
| |
− | ;;
| |
− | ;; NAT-Verbindung waehrend der Anwahl offenhalten
| |
− | ;;
| |
− | | |
− | exten => s,1,Answer
| |
− | exten => s,n,PlayTones(dial)
| |
− | exten => s,n,Set(TIMEOUT(digit)=4,TIMEOUT(response)=20)
| |
− | exten => s,n,WaitExten
| |
− | | |
− | exten => _X.,1,Dial(Local/${EXTEN}@extensions,,r)
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | [macro-echotest]
| |
− | ;;
| |
− | ;; Der beliebte Echotest
| |
− | ;;
| |
− | | |
− | exten => s,1,Set(TIMEOUT(absolute)=3600)
| |
− | exten => s,n,Playback(tt-weasels)
| |
− | exten => s,n,Playback(demo-echotest)
| |
− | exten => s,n,Echo
| |
− | exten => s,n,Playback(demo-echodone)
| |
− | exten => s,n,Hangup
| |
− | | |
− | | |
− | | |
− | [mailfax]
| |
− | ;;
| |
− | ;; Fax2Mail mit OCR
| |
− | ;;
| |
− | | |
− | exten => _X.,1,Set(CALLEDFAX=${EXTEN})
| |
− | exten => _X.,n,Answer
| |
− | exten => _X.,n,Set(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID})
| |
− | exten => _X.,n,rxfax(${FAXFILE}.tif)
| |
− | | |
− | exten => h,1,system(/usr/local/bin/mailfax "${FAXFILE}" "${EMAIL}" "${CALLERIDNUM}" "${CALLEDFAX}")
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | [mailfax_fancy]
| |
− | ;;
| |
− | ;; Fax2Mail mit OCR
| |
− | ;; Baustelle fuer Erweiterungen
| |
− | ;;
| |
− | | |
− | exten => _X.,1,Set(CALLEDFAX=${EXTEN})
| |
− | exten => _X.,n,Answer
| |
− | exten => _X.,n,Set(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID})
| |
− | exten => _X.,n,rxfax(${FAXFILE}.tif)
| |
− | | |
− | exten => h,1,system(/usr/local/bin/mailfax_fancy ${FAXFILE} ${EMAIL} ${CALLERIDNUM} ${CALLEDFAX})
| |
− | | |
− | include => catchall
| |
− | | |
− | | |
− | | |
− | [catchall]
| |
− | ;;
| |
− | ;; Extensions, die in keinem Kontext fehlen sollten
| |
− | ;;
| |
− | | |
− | exten => s,1,NoOp
| |
− | | |
− | exten => h,1,Hangup
| |
− | | |
− | exten => i,1,PlayTones(!950/330,!1400/330,!1800/330,0)
| |
− | exten => i,n,Hangup
| |
− | | |
− | exten => t,1,PlayTones(!950/330,!1400/330,!1800/330,0)
| |
− | exten => t,n,Hangup
| |
− | | |
− | | |
− | | |
− | | |
− | | |
− | | |
− | ;;
| |
− | ;; Noch unsortierter Krams, Baustelle fuer VPN
| |
− | ;;
| |
− | | |
− | | |
− | | |
− | [tochaos_iax]
| |
− | ;exten => _!,1,Set(CALLERID(name)=CCCHH,CALLERID(number)=940)
| |
− | exten => _!,1,Goto(switch_${SWITCHTO},${EXTEN},1)
| |
− | | |
− | | |
− | [tochaos_sip]
| |
− | exten => s,1,Set(TIMEOUT(digit)=3)
| |
− | exten => s,n,WaitExten
| |
− | | |
− | include => catchall
| |
− | | |
− | ;exten => _X.,1,Set(CALLERID(name)=CCCHH,CALLERID(number)=940)
| |
− | exten => _X.,1,Dial(SIP/${SWITCHTO}/${EXTEN},,T)
| |
− | | |
− | | |
− | ;; IAX-Switches
| |
− | | |
− | ;[switch_ccchh]
| |
− | ;exten => s,1,WaitExten
| |
− | ;;;
| |
− | ;;; manchmal tritt ein merkwürdiges Phänomen auf:
| |
− | ;;; wir bekommen die komplette Durchwahl inkl. 9X in diesem Context
| |
− | ;;; Warum?
| |
− | ;exten => _94.,1,Set(EXTEN=${EXTEN:2})
| |
− | ;;;
| |
− | ;switch => IAX2/ccchh:[ccchh]@ccchh
| |
− | | |
− | [switch_packbartvpnhome]
| |
− | exten => h,1,Hangup
| |
− | switch => IAX2/ccchh:[ccchh]@packbartvpnhome
| |
− | | |
− | [switch_alivpnlardass]
| |
− | switch => IAX2/ccchh:[ccchh]@alivpnlardass
| |
− | | |
− | [switch_metarheinmain]
| |
− | switch => IAX2/ccchh:[ccchh]@metarheinmain
| |
− | | |
− | [switch_thalunilvpn]
| |
− | switch => IAX2/ccchh:[ccchh]@thalunilvpn
| |
− | </pre>
| |
| | | |
| === /etc/asterisk/modules.conf === | | === /etc/asterisk/modules.conf === |
| <pre> | | <pre> |
− | [modules]
| + | test |
− | | |
− | autoload=yes
| |
− | | |
− | noload => pbx_gtkconsole.so
| |
− | noload => pbx_kdeconsole.so
| |
− | noload => app_intercom.so
| |
− | noload => chan_alsa.so
| |
− | | |
− | ;load => chan_modem.so
| |
− | | |
− | ; pirx: res_features vor chan_misdn laden (vgl. http://www.voip-info.org/wiki-Asterisk+mISDN+channels)
| |
− | load => res_features.so
| |
− | load => chan_misdn.so
| |
− | load => res_musiconhold.so
| |
− | | |
− | ; pirx: app_rxfax, app_txfax sind manuell zu installieren (s.u.)
| |
− | load => app_txfax.so
| |
− | load => app_rxfax.so
| |
− | | |
− | [global]
| |
− | | |
− | ;chan_modem.so=yes
| |
− | chan_msidn.so=yes
| |
| </pre> | | </pre> |
| | | |
Line 1,385: |
Line 60: |
| === libtiff === | | === libtiff === |
| Vor allen Weiterungen benötgen wir libtiff 3.7.1 (neue Versionen sollen teilweise nicht richtig funktioneren). | | Vor allen Weiterungen benötgen wir libtiff 3.7.1 (neue Versionen sollen teilweise nicht richtig funktioneren). |
− | <pre>
| + | UNIQ796ba5ba98e0ea7-pre-00000012-QINU |
− | wget ftp://ftp.remotesensing.org/pub/libtiff/old/tiff-3.7.1.tar.gz
| |
− | tar xvfz tiff-3.7.1.tar.gz
| |
− | cd tiff-3.7.1
| |
− | ./configure --prefix=/usr
| |
− | make
| |
− | make install
| |
− | </pre>
| |
| === spandsp === | | === spandsp === |
| Zur Faxkonfiguration wird zunächst spandsp benötigt [[http://soft-switch.org/installing-spandsp.html]]. | | Zur Faxkonfiguration wird zunächst spandsp benötigt [[http://soft-switch.org/installing-spandsp.html]]. |
− | <pre>
| + | UNIQ796ba5ba98e0ea7-pre-00000013-QINU |
− | wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre23/spandsp-0.0.2pre23.tar.gz
| |
− | ./configure --prefix=/usr
| |
− | make
| |
− | make install
| |
− | </pre>
| |
| === Asterisk Applikationen === | | === Asterisk Applikationen === |
− | <pre>
| + | UNIQ796ba5ba98e0ea7-pre-00000014-QINU |
− | cd /usr/src/asterisk/apps
| |
− | wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre23/asterisk-1.2.x/app_rxfax.c
| |
− | wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre23/asterisk-1.2.x/app_txfax.c
| |
− | wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre23/asterisk-1.2.x/apps_Makefile.patch
| |
− | patch -p0 < apps_Makefile.patch
| |
− | cd ..
| |
− | make
| |
− | make install
| |
− | </pre>
| |