Dieses Wiki ist ein Archiv bis 2023. Das aktuelle Wiki findet sich unter https://wiki.hamburg.ccc.de/
Difference between revisions of "VoIP:Konfiguration neu"
(Nebenstellenfreizeichen-Patch für chan_misdn (isdn_lib.c)) |
m (Aktualisiert: Problemstellen mit Handwahl kommentiert, kleine Bugs behoben, dem Bayern seine 01803-Rauswahl wieder eingefügt. Dies Version ist jetzt live.) |
||
Line 160: | Line 160: | ||
;; Wir koennten auf der DECT-Anlage einen Gruppenruf einrichten | ;; Wir koennten auf der DECT-Anlage einen Gruppenruf einrichten | ||
;ZENTRALE_EXTERN=Local/office-isdn@phones&Local/office-dect@phones&SIP/zentrale | ;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 | + | ;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: | ; -23 klingelt auch auf -26 und -27: | ||
ZENTRALE_EXTERN=Local/office-isdn@phones | ZENTRALE_EXTERN=Local/office-isdn@phones | ||
Line 193: | Line 193: | ||
;exten => 401801800,1,Goto(phones,zentrale,extern) | ;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) | exten => _401801!,1,GotoIf(${EXTEN:6}?extensions,${EXTEN:6},1:extensions,s,1) | ||
+ | |||
+ | ;; Wir braeuchten ein "include" mit Praefix | ||
+ | ;include => extensions | ||
Line 214: | Line 221: | ||
;; | ;; | ||
− | exten => s,1,Background(chaosvpn_willkommen_hamburg) | + | ;; Klappt leider nicht so, wie es soll und verschluckt |
+ | ;; manchmal eine Ziffer: | ||
+ | ;exten => s,1,Background(chaosvpn_willkommen_hamburg) | ||
+ | exten => s,1,NoOp | ||
− | exten => i,1,Playback(chaosvpn_hamwanich_hamburg) | + | ;exten => i,1,Answer |
− | exten => i,n,PlayTones( | + | ;exten => i,n,Playback(chaosvpn_hamwanich_hamburg) |
− | exten => i,n,Hangup | + | ;exten => i,n,PlayTones(info) |
+ | ;exten => i,n,Hangup | ||
exten => 0,1,Goto(phones,zentrale,intern) | exten => 0,1,Goto(phones,zentrale,intern) | ||
Line 311: | Line 322: | ||
exten => 57,1,SetVar(EMAIL=packbart@hamburg.ccc.de) | exten => 57,1,SetVar(EMAIL=packbart@hamburg.ccc.de) | ||
− | exten => 57,n,Goto( | + | exten => 57,n,Goto(mailfax,${EXTEN},1) |
;; 58xx den Nummern von 8xx anpassen | ;; 58xx den Nummern von 8xx anpassen | ||
Line 322: | Line 333: | ||
exten => 6000,1,VoiceMailMain() | exten => 6000,1,VoiceMailMain() | ||
exten => 6000,n,Hangup() | exten => 6000,n,Hangup() | ||
+ | |||
+ | ;; 61XXX fuer Erweiterungen | ||
+ | |||
+ | ;; 6NXX den Nummern von 8xx anpassen | ||
+ | ;; (827 -> alx, 828 -> packbart, etc.) | ||
exten => _6NXX,1,Voicemail(${EXTEN:1}@default) | exten => _6NXX,1,Voicemail(${EXTEN:1}@default) | ||
Line 349: | Line 365: | ||
exten => _828,1,Goto(phones,packbart,1) | exten => _828,1,Goto(phones,packbart,1) | ||
+ | ;; ohne TIMEOUT(digit) tut das nicht ohne Blockwahl: | ||
exten => _828X!,1,Set(SWITCHTO=packbartvpnhome) | exten => _828X!,1,Set(SWITCHTO=packbartvpnhome) | ||
exten => _828X!,n,Goto(tochaosiax,${EXTEN:3},1) | exten => _828X!,n,Goto(tochaosiax,${EXTEN:3},1) | ||
− | exten => | + | exten => _829!,1,Set(SWITCHTO=packbartvpnhome) |
− | exten => | + | exten => _829!,n,GotoIf($["${EXTEN:3}" != ""]?tochaosiax,${EXTEN:3},1:tochaosiax,s,1) |
+ | |||
+ | exten => _830,1,Goto(phones,bayer,1) | ||
; * 9 Funktionsbereich Chaos-VPN | ; * 9 Funktionsbereich Chaos-VPN | ||
Line 410: | Line 429: | ||
exten => ali,n,Voicemail(666@default) | exten => ali,n,Voicemail(666@default) | ||
exten => ali,n,Hangup | exten => ali,n,Hangup | ||
+ | |||
+ | exten => bayer,1,Dial(misdn/g:wall/01803777003,,tT) | ||
+ | exten => bayer,n,Hangup | ||
include => catchall | include => catchall | ||
Line 477: | Line 499: | ||
exten => _X!.,1,StopPlayTones | exten => _X!.,1,StopPlayTones | ||
− | exten => _X!.,n,Dial(misdn/g:wall/${EXTEN},, | + | exten => _X!.,n,ChanIsAvail(misdn/g:wall,j) |
+ | exten => _X!.,n,Dial(misdn/g:wall/${EXTEN},,tT) | ||
+ | |||
+ | exten => _X!.,102,Playback(all-circuits-busy) | ||
+ | exten => _X!.,n,PlayTones(congestion) | ||
+ | exten => _X!.,n,Congestion | ||
+ | |||
+ | |||
include => catchall | include => catchall | ||
Line 541: | Line 570: | ||
[switch_ccchh] | [switch_ccchh] | ||
− | exten => s,1, | + | exten => s,1,NoOp |
;; | ;; | ||
;; manchmal tritt ein merkwürdiges Phänomen auf: | ;; manchmal tritt ein merkwürdiges Phänomen auf: | ||
Line 550: | Line 579: | ||
[switch_packbartvpnhome] | [switch_packbartvpnhome] | ||
− | exten => s,1, | + | exten => s,1,NoOp |
exten => _94828.,1,Set(EXTEN=${EXTEN:5}) | exten => _94828.,1,Set(EXTEN=${EXTEN:5}) | ||
switch => IAX2/packbartvpnhome | switch => IAX2/packbartvpnhome | ||
− | |||
− | |||
</pre> | </pre> | ||
Revision as of 13:14, 21 February 2006
Contents
Hilfreiche Doku
Asterisk und misdn unter Debian
Software, Treiber
- Debian Stable/Sarge, mit Addons von Haegar/debian.sdinet.de
- Linux 2.6.15 aus Haegars Tree (svn, 2.6.15.1+ubuntu+sdinet6)
- misdn-Treiber so wie im Kernel vorhanden
misdn Konfiguration
/etc/misdn_init.conf
# # Configuration file for your misdn hardware # # Usage: /etc/init.d/misdn-init start|stop|restart|config|scan|help # # # Card Settings # card=1,hfcpci card=2,hfcpci # # 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 te_ptp=1 # Karte 2 (oben) intern = PTMP, NT-Modus nt_ptmp=2 # # Port Options # # keine ...
/etc/asterisk/misdn.conf
[general] debug=4 method=standard tracefile=/var/log/misdn.trace appnd_digits2exten=yes bridging=no [default] context=pbx-trunk language=de nationalprefix=0 internationalprefix=00 rxgain=0 txgain=0 dialplan=0 ; interner ISDN-Bus (PTMP = Mehrgeraeteanschluss) [internal1] context=pbx-trunk ports=2 msn=* ; externer ISDN-Bus (PTP = Anlagenanschluss) [wall] context=wall-trunk ports=1 msn=*
Nebenstellenfreizeichen mit misdn
Das von chan_misdn erzeugte Freizeichen ist in isdn_lib.c hardkodiert. Ich habe folgenden Patch geschrieben, der ein Nebenstellenfreizeichen (drei kurze Töne, Pause) erzeugt. -- packbart 16:27, 20 Feb 2006 (CET)
--- isdn_lib.c 2005-12-02 16:15:56.000000000 +0100 +++ isdn_lib.c 2006-02-15 04:07:51.000000000 +0100 @@ -148,6 +148,13 @@ #define TONE_BUSY_CNT 20 /* ? */ #define TONE_BUSY_SILENCE_CNT 48 /* ? */ +#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++;
Asterisk Konfiguration
/etc/asterisk/extensions.conf
;; ;; vermittlung.hamburg.ccc.de ;; $Id$ ;; [general] ;; ;; ;; static=yes writeprotect=yes clearglobalvars=yes [globals] ;; ;; ;; ;; 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_INTERN=Local/office-isdn@phones&Local/office-dect@phones&SIP/zentrale&Local/packbarthome@phones ZENTRALE_MAILBOX=800@default PRESSE=Local/ali@phones PRESSE2=Local/ali@phones ;PRESSE2=Local/ali@phones&misdn/g:wall/<somewhereelse> PRESSE_MAILBOX=666@default ;KASSE=Local/bayer@phones FWDNUMBER=714542 FWDCIDNAME=ccchh DIALOUTPW=2423 [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 [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_willkommen_hamburg) exten => s,1,NoOp ;exten => i,1,Answer ;exten => i,n,Playback(chaosvpn_hamwanich_hamburg) ;exten => i,n,PlayTones(info) ;exten => i,n,Hangup exten => 0,1,Goto(phones,zentrale,intern) include => catchall include => extensions [vpn-trunk-dialout] ;; ;; Anrufe aus dem VPN ;; mit Dialout ;; ; Dialout via ISDN exten => _10!,1,Authenticate(${DIALOUTPW}) exten => _10!,n,GotoIf(${EXTEN:2}?dialout-isdn,${EXTEN:2},1:dialout-isdn,s,1) include => vpn-trunk include => dialout [fromiaxfwd] ;; ;; Eingehender Anruf ueber FreeWorldDialup ;; exten => ${FWDNUMBER},1,Goto(phones,zentrale,extern) include => catchall [extensions] ;; ;; allgemeine Durchwahlen. Von aussen, innen und aus dem 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 ; * 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 => 42,1,SetVar(EMAIL=mail@ccc.de) exten => 42,n,Goto(mailfax,${EXTEN},1) exten => 46,1,Goto(phones,presse,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 => 56,1,SetVar(EMAIL=mail@ccc.de) ;exten => 56,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@hamburg.ccc.de) exten => 57,n,Goto(mailfax,${EXTEN},1) ;; 58xx den Nummern von 8xx anpassen exten => 5801,1,SetVar(EMAIL=bayer@hamburg.ccc.de) exten => 5801,n,Goto(mailfax,${EXTEN},1) ; * 6 Funktionsbereich Voicemail exten => 6000,1,VoiceMailMain() exten => 6000,n,Hangup() ;; 61XXX fuer Erweiterungen ;; 6NXX 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 => _71XX,1,MeetMe(${EXTEN:2}) ; ** 78 Streams exten => 7806,1,Answer exten => 7806,n,MP3Player(http://orange-01.live.sil.at:8000/) exten => 7901,1,Macro(echotest) ; * 8 Funktionsbereich Mitgliedertelefone exten => 800,1,Goto(phones,zentrale,intern) exten => 827,1,Goto(phones,alx,1) ;; vorruebergehend noch die -27 [spaetestens 2006-03 raus] exten => 27,1,Goto(phones,alx,1) ;; exten => _828,1,Goto(phones,packbart,1) ;; ohne TIMEOUT(digit) tut das nicht ohne Blockwahl: exten => _828X!,1,Set(SWITCHTO=packbartvpnhome) exten => _828X!,n,Goto(tochaosiax,${EXTEN:3},1) exten => _829!,1,Set(SWITCHTO=packbartvpnhome) exten => _829!,n,GotoIf($["${EXTEN:3}" != ""]?tochaosiax,${EXTEN:3},1:tochaosiax,s,1) exten => _830,1,Goto(phones,bayer,1) ; * 9 Funktionsbereich Chaos-VPN ;exten => _92!,1,Set(SWITCHTO=cccc) ;exten => _92!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1) ;exten => _93!,1,Set(SWITCHTO=cccb) ;exten => _93!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1) ;exten => _94!,1,Set(SWITCHTO=ccchh) ;exten => _94!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1) ;exten => _96!,1,Set(SWITCHTO=metarheinmain) ;exten => _96!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1) include => catchall [phones] ;; ;; Rufempfaenger (Funktionen, Personen, Telefone) ;; exten => zentrale,1,NoOp exten => zentrale,n(extern),Dial(${ZENTRALE_EXTERN},20,o) exten => zentrale,n,Playback(cccansage) exten => zentrale,n,Hangup exten => zentrale,n(intern),Dial(${ZENTRALE_INTERN},20,o) exten => zentrale,n,Dial(${ZENTRALE_INTERN2},35,o) exten => zentrale,n,Voicemail(${ZENTRALE_MAILBOX}) exten => zentrale,n,Hangup exten => presse,1,Dial(${PRESSE},20,o) exten => presse,n,Dial(${PRESSE2},20,o) exten => presse,n,Voicemail(${PRESSE_MAILBOX}) exten => presse,n,Hangup exten => office-isdn,1,Dial(misdn/g:internal1/23,,o) exten => office-dect,1,Dial(misdn/g:internal1/26,,o) exten => papierfax,1,Dial(misdn/g:internal1/41,,o) exten => packbart,1,Dial(misdn/g:internal1/28&IAX2/packbartvpnhome/0&SIP/packbart,45,o) exten => packbart,n,Voicemail(828@default) exten => packbart,n,Hangup exten => packbarthome,1,Dial(IAX2/packbartvpnhome/0&SIP/packbart,,o) exten => alx,1,Dial(misdn/g:internal1/27,45,o) exten => alx,n,Voicemail(827@default) exten => alx,n,Hangup exten => ali,1,Dial(IAX2/alivpnhome/0&SIP/ali,45,o) exten => ali,n,Voicemail(666@default) exten => ali,n,Hangup exten => bayer,1,Dial(misdn/g:wall/01803777003,,tT) exten => bayer,n,Hangup include => catchall [mailfax] ;; ;; Fax2Mail mit OCR ;; exten => _X.,1,SetVar(CALLEDFAX=${EXTEN}) exten => _X.,2,Answer exten => _X.,3,SetVar(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID}) exten => _X.,4,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,SetVar(CALLEDFAX=${EXTEN}) exten => _X.,2,Answer exten => _X.,3,SetVar(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID}) exten => _X.,4,rxfax(${FAXFILE}.tif) exten => h,1,system(/usr/local/bin/mailfax_fancy ${FAXFILE} ${EMAIL} ${CALLERIDNUM} ${CALLEDFAX}) include => catchall [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 => _10!,1,GotoIf(${EXTEN:2}?dialout-chaosvpn,${EXTEN:2},1:dialout-chaosvpn,s,1) ; Dialout via FreeWorldDialup exten => _12!,1,GotoIf(${EXTEN:2}?dialout-iaxfwd,${EXTEN:2},1:dialout-iaxfwd,s,1) [dialout-isdn] ;; ;; misdn/g:wall ;; exten => s,1,ChanIsAvail(misdn/g:wall,j) exten => s,n,PlayTones(dial) exten => s,n,WaitExten exten => s,102,Playback(all-circuits-busy) exten => s,n,PlayTones(congestion) exten => s,n,Congestion exten => _X!.,1,StopPlayTones exten => _X!.,n,ChanIsAvail(misdn/g:wall,j) exten => _X!.,n,Dial(misdn/g:wall/${EXTEN},,tT) exten => _X!.,102,Playback(all-circuits-busy) exten => _X!.,n,PlayTones(congestion) exten => _X!.,n,Congestion include => catchall [dialout-iaxfwd] ;; ;; IAX2/iaxfwd ;; exten => s,1,Set(TIMEOUT(digit)=3) exten => s,n,ChanIsAvail(IAX2/iaxfwd,j) ;exten => s,n,PlayTones(dial) exten => s,n,WaitExten exten => s,102,Playback(all-circuits-busy) exten => s,n,PlayTones(congestion) exten => s,n,Congestion exten => _X.,1,StopPlayTones exten => _X.,n,Set(CALLERID(name)=${FWDCIDNAME},CALLERID(number)=${FWDNUMBER}) exten => _X.,n,Dial(IAX2/iaxfwd/${EXTEN}) include => catchall [macro-echotest] exten => s,1,Playback(tt-weasels) exten => s,2,Playback(demo-echotest) exten => s,3,Echo exten => s,4,Playback(demo-echodone) exten => s,5,Hangup [catchall] exten => s,1,NoOp exten => h,1,Hangup exten => i,1,PlayTones(!950/330,!1400/330,!1800/330,0) exten => i,2,Hangup exten => t,1,PlayTones(!950/330,!1400/330,!1800/330,0) exten => t,2,Hangup ;; ;; Noch unsortierter Krams, Baustelle fuer VPN ;; [tochaosiax] exten => _!,1,Set(CALLERID(name)=CCCHH,CALLERID(number)=940) exten => _!,2,Goto(switch_${SWITCHTO},${EXTEN},1) ;; IAX-Switches [switch_ccchh] exten => s,1,NoOp ;; ;; manchmal tritt ein merkwürdiges Phänomen auf: ;; wir bekommen die komplette Durchwahl inkl. 9X in diesem Context exten => _94.,1,Set(EXTEN=${EXTEN:2}) ;; switch => IAX2/ccchh [switch_packbartvpnhome] exten => s,1,NoOp exten => _94828.,1,Set(EXTEN=${EXTEN:5}) switch => IAX2/packbartvpnhome
/etc/asterisk/modules.conf
[modules] 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
Fax
libtiff
Vor allen Weiterungen benötgen wir libtiff 3.7.1 (neue Versionen sollen teilweise nicht richtig funktioneren).
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
spandsp
Zur Faxkonfiguration wird zunächst spandsp benötigt [[1]].
wget http://soft-switch.org/downloads/spandsp/spandsp-0.0.2pre23/spandsp-0.0.2pre23.tar.gz ./configure --prefix=/usr make make install
Asterisk Applikationen
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