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"

From CCCHHWiki
Jump to: navigation, search
m (Backup der alten Version)
(Neue Version - braucht noch mehr Tests und Nachdenken)
Line 80: Line 80:
 
=== /etc/asterisk/extensions.conf ===
 
=== /etc/asterisk/extensions.conf ===
 
<pre>
 
<pre>
 +
;;
 +
;; 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
 +
; -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
  
[general]
+
exten => 4018010,1,Goto(phones,zentrale,extern)
 +
 
 +
;; Zentrale ueber -800 abfangen
 +
;exten => 401801800,1,Goto(phones,zentrale,extern)
 +
 
 +
exten => _401801!,1,GotoIf(${EXTEN:6}?extensions,${EXTEN:6},1:extensions,s,1)
 +
 
 +
 
 +
 
 +
[pbx-trunk]
 +
;;
 +
;; Anrufe von innen
 +
;;
 +
 
 +
include => catchall
 +
include => dialout
 +
include => extensions
 +
 
 +
 
 +
 
 +
[vpn-trunk]
 +
;;
 +
;; Anrufe aus dem VPN
 +
;; ohne Dialout
 +
;;
 +
 
 +
exten => s,1,Background(chaosvpn_willkommen_hamburg)
 +
 
 +
exten => i,1,Playback(chaosvpn_hamwanich_hamburg)
 +
exten => i,n,PlayTones(!950/330,!1400/330,!1800/330,0)
 +
exten => i,n,Hangup
  
FWDNUMBER=714542 ; your calling number
+
exten => 0,1,Goto(phones,zentrale,intern)
FWDCIDNAME="ccchh"; your caller id
 
FWDPASSWORD=k40sf0n ; your password
 
FWDRINGS=sip/office ; the phone to ring
 
  
 +
include => catchall
 +
include => extensions
  
[fax_alt]
 
  
exten => _X.,1,SetVar(CALLEDFAX=${EXTEN})
 
exten => _X.,2,Answer
 
exten => _X.,3,SetVar(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${UNIQUEID})
 
exten => _X.,4,rxfax(${FAXFILE}.tif)
 
exten => h,1,system(/usr/local/bin/mailfax.old ${FAXFILE} ${EMAIL} ${CALLERIDNUM})
 
  
[mailfax]
+
[vpn-trunk-dialout]
 +
;;
 +
;; Anrufe aus dem VPN
 +
;; mit Dialout
 +
;;
  
exten => _X.,1,Set(CALLEDFAX=${EXTEN})
+
; Dialout via ISDN
exten => _X.,2,Answer
+
exten => _10!,1,Authenticate(${DIALOUTPW})
exten => _X.,3,Set(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID})
+
exten => _10!,n,GotoIf(${EXTEN:2}?dialout-isdn,${EXTEN:2},1:dialout-isdn,s,1)
exten => _X.,4,rxfax(${FAXFILE}.tif)
 
exten => h,1,system(/usr/local/bin/mailfax "${FAXFILE}" "${EMAIL}" "${CALLERIDNUM}" "${CALLEDFAX}")
 
  
[mailfax_fancy]
+
include => vpn-trunk
 +
include => dialout
  
exten => _X.,1,Set(CALLEDFAX=${EXTEN})
 
exten => _X.,2,Answer
 
exten => _X.,3,Set(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID})
 
exten => _X.,4,rxfax(${FAXFILE}.tif)
 
exten => h,1,system(/usr/local/bin/mailfax_fancy2 "${FAXFILE}" "${EMAIL}" "${CALLERIDNUM}" "${CALLEDFAX}")
 
  
  
 
[fromiaxfwd]
 
[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 => ${FWDNUMBER},1,Dial(${FWDRINGS},20,r)
+
exten => 55,1,SetVar(EMAIL=anonymizer@ccc.de)
 +
exten => 55,n,Goto(mailfax,${EXTEN},1)
  
[voicemail]
+
;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_fancy,${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,1,VoiceMailMain()
exten => 6000,2,Hangup()
+
exten => 6000,n,Hangup()
exten => 4018016000,1,VoiceMailMain()
 
exten => 4018016000,2,Hangup()
 
  
exten => _6XXX,1,Voicemail(${EXTEN:-4}@default)
+
exten => _6NXX,1,Voicemail(${EXTEN:1}@default)
exten => _6XXX,2,Hangup()
+
exten => _6NXX,n,Hangup()
exten => _4018016XXX,1,Voicemail(${EXTEN:-4}@default)
 
exten => _4018016XXX,2,Hangup()
 
  
[catchall]
+
; * 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)
  
exten => h,1,Hangup
+
; * 8 Funktionsbereich Mitgliedertelefone
  
exten => i,1,Playtones(!950/330,!1400/330,!1800/330,0)
+
exten => 800,1,Goto(phones,zentrale,intern)
exten => i,2,Hangup
 
  
exten => t,1,Playtones(!950/330,!1400/330,!1800/330,0)
+
exten => 827,1,Goto(phones,alx,1)
exten => t,2,Hangup
+
;; vorruebergehend noch die -27 [spaetestens 2006-03 raus]
 +
exten => 27,1,Goto(phones,alx,1)
 +
;;
  
 +
exten => _828,1,Goto(phones,packbart,1)
 +
exten => _828X!,1,Set(SWITCHTO=packbartvpnhome)
 +
exten => _828X!,n,Goto(tochaosiax,${EXTEN:3},1)
 +
exten => _829X!,1,Set(SWITCHTO=packbartvpnhome)
 +
exten => _829X!,n,Goto(tochaosiax,${EXTEN:3},1)
  
[wall-trunk]
+
; * 9 Funktionsbereich Chaos-VPN
  
; die normalen telefone
+
;exten => _92!,1,Set(SWITCHTO=cccc)
 +
;exten => _92!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1)
  
exten => 4018010,1,Dial(misdn/2/23|15)             ; gruppenruf
+
;exten => _93!,1,Set(SWITCHTO=cccb)
exten => 4018010,2,Playback(cccansage)
+
;exten => _93!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1)
  
exten => 40180123,1,Dial(misdn/2/23)           ; auch
+
;exten => _94!,1,Set(SWITCHTO=ccchh)
 +
;exten => _94!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1)
  
exten => 40180126,1,Dial(misdn/2/26)           ; telefon
+
;exten => _96!,1,Set(SWITCHTO=metarheinmain)
 +
;exten => _96!,n,GotoIf(${EXTEN:2}?tochaosiax,${EXTEN:2},1:tochaosiax,s,1)
  
;; bitte andere Funktionsnummer fuer Vanity-Durchwahlen
+
include => catchall
; z.B. 8XX
 
exten => 40180127,1,Dial(misdn/2/27|15) ; Alx sein Handset
 
exten => 40180127,2,Voicemail(6259@default) ;
 
  
exten => 40180131,1,NoOp()                    ; voicebox
 
  
exten => 40180139,1,Dial(misdn/2/39)            ; telefon
 
  
 +
[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
  
; faxen
+
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 => 40180140,1,SetVar(EMAIL=mail@ccc.de)
+
exten => office-isdn,1,Dial(misdn/g:internal1/23,,o)
exten => 40180140,2,Goto(mailfax,${EXTEN:6},1)
 
  
exten => 40180141,1,Dial(misdn/2/41)           ; analog fax
+
exten => office-dect,1,Dial(misdn/g:internal1/26,,o)
  
exten => 40180142,1,SetVar(EMAIL=mail@ccc.de)
+
exten => papierfax,1,Dial(misdn/g:internal1/41,,o)
exten => 40180142,2,Goto(mailfax,${EXTEN:6},1)
 
  
exten => 40180150,1,SetVar(EMAIL=mail@hamburg.ccc.de)
+
exten => packbart,1,Dial(misdn/g:internal1/28&IAX2/packbartvpnhome/0&SIP/packbart,45,o)
exten => 40180150,2,Goto(mailfax,${EXTEN:6},1)
+
exten => packbart,n,Voicemail(828@default)
 +
exten => packbart,n,Hangup
  
exten => 40180151,1,SetVar(EMAIL=zahlstelle@ccc.de)
+
exten => packbarthome,1,Dial(IAX2/packbartvpnhome/0&SIP/packbart,,o)
exten => 40180151,2,Goto(mailfax,${EXTEN:6},1)
 
  
exten => 40180152,1,SetVar(EMAIL=vorstand@ccc.de)
+
exten => alx,1,Dial(misdn/g:internal1/27,45,o)
exten => 40180152,2,Goto(mailfax,${EXTEN:6},1)
+
exten => alx,n,Voicemail(827@default)
 +
exten => alx,n,Hangup
  
exten => 40180153,1,SetVar(EMAIL=pressesprecher@ccc.de)
+
exten => ali,1,Dial(IAX2/alivpnhome/0&SIP/ali,45,o)
exten => 40180153,2,Goto(mailfax,${EXTEN:6},1)
+
exten => ali,n,Voicemail(666@default)
 +
exten => ali,n,Hangup
  
exten => 40180154,1,SetVar(EMAIL=ds@ccc.de)
+
include => catchall
exten => 40180154,2,Goto(mailfax,${EXTEN:6},1)
 
  
exten => 40180155,1,SetVar(EMAIL=anonymizer@ccc.de)
 
exten => 40180155,2,Goto(mailfax,${EXTEN:6},1)
 
  
exten => 40180156,1,SetVar(EMAIL=mail@ccc.de)
 
exten => 40180156,2,Goto(mailfax,${EXTEN:6},1)
 
  
exten => 40180157,1,SetVar(EMAIL=packbart@hamburg.ccc.de)
+
[mailfax]
exten => 40180157,2,Goto(mailfax,${EXTEN:6},1)
+
;;
 +
;; Fax2Mail mit OCR
 +
;;
  
exten => 4018015801,1,SetVar(EMAIL=bayer@hamburg.ccc.de)
+
exten => _X.,1,SetVar(CALLEDFAX=${EXTEN})
exten => 4018015801,2,Goto(mailfax,${EXTEN:6},1)
+
exten => _X.,2,Answer
 +
exten => _X.,3,SetVar(FAXFILE=/var/spool/asterisk/fax/${CALLEDFAX}-${CALLERIDNUM}-${UNIQUEID})
 +
exten => _X.,4,rxfax(${FAXFILE}.tif)
  
;exten => 4018016,1,MeetMe(1234)                   ; Konferenz
+
exten => h,1,system(/usr/local/bin/mailfax ${FAXFILE} ${EMAIL} ${CALLERIDNUM} ${CALLEDFAX})
  
 +
include => catchall
  
exten => _40180192XX,1,NoOp()                  ; chaos-vpn Koeln
 
exten => _40180193XX,1,NoOp()                  ; chaos-vpn Berlin
 
  
  
 +
[mailfax_fancy]
 
;;
 
;;
;; Haukes Test, Durchwahl ins Chaos-VPN, noch nicht ins Wiki malen,
+
;; Fax2Mail mit OCR
;; es gibt bereits eine bessere Variante
+
;; Baustelle fuer Erweiterungen
exten => 40180194240,1,Dial(IAX2/packbartvpnhome/${EXTEN:10},60,r)
 
exten => _4018019424Z.,1,Dial(IAX2/packbartvpnhome/${EXTEN:10},60,r)
 
 
;;
 
;;
;; dies muss per include geloest werden, da es sonst vor alle Nummern sortiert wird
 
;exten => _40180194!,1,Busy                  ; chaos-vpn Hamburg
 
;;exten => _40180194XX,1,NoOp()                  ; chaos-vpn Hamburg
 
  
 +
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 => _40180195XX,1,NoOp()                 ; chaos-vpn Hannover
+
exten => h,1,system(/usr/local/bin/mailfax_fancy ${FAXFILE} ${EMAIL} ${CALLERIDNUM} ${CALLEDFAX})
exten => _40180196XX,1,NoOp()                  ; chaos-vpn MetaRheinMain
 
  
exten => 40180199,1,Dial(misdn/2/99)            ; lockpickerphone (noch)
+
include => catchall
 +
 
 +
 
 +
 
 +
[dialout]
 +
;;
 +
;; Anwahl nach aussen ueber verschiedene Provider
 +
;;
  
include => voicemail
+
; 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,Dial(misdn/g:wall/${EXTEN},,tTo)
 
include => catchall
 
include => catchall
  
  
[pbx-trunk]
 
  
; ignorepat => 0
+
[dialout-iaxfwd]
; dialout via 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 => _11.,1,SetCallerId,${FWDCIDNAME}
+
exten => i,1,PlayTones(!950/330,!1400/330,!1800/330,0)
;exten => _11.,2,Dial(IAX2/${FWDNUMBER}:${FWDPASSWORD}@iax2.fwdnet.net/${EXTEN:2},60,r)
+
exten => i,2,Hangup
;exten => _11.,3,Congestion
 
; deaktiviert um das Faxproblem mal probehalber zu fixen
 
  
 +
exten => t,1,PlayTones(!950/330,!1400/330,!1800/330,0)
 +
exten => t,2,Hangup
  
; dialout via isdn
 
  
;exten => _0X.,1,Background('beep')
 
exten => _0X.,1,Dial(misdn/1/${EXTEN:1})
 
;exten => _0X.,1,Dial(misdn/1/${EXTEN:1}||Tt)
 
  
; internal fax machines
 
  
exten => _4X,1,Goto(wall-trunk,401801${EXTEN},1)
 
exten => _5X,1,Goto(wall-trunk,401801${EXTEN},1)
 
;extrem gef�hrlich...
 
  
  
; internal phones
+
;;
 +
;; Noch unsortierter Krams, Baustelle fuer VPN
 +
;;
  
exten => _ZX,1,Dial(misdn/2/${EXTEN}||Tt)      ; dect und isdn phones
 
  
; testphones
 
  
;exten => 100,1,Dial(Zap/g3/${EXTEN}||Tt)     ; isdn testphone von pirx
+
[tochaosiax]
;exten => 666,1,Dial(IAX2/iaxphone||Tt)       ; iax testphone von ali
+
exten => _!,1,Set(CALLERID(name)=CCCHH,CALLERID(number)=940)
 +
exten => _!,2,Goto(switch_${SWITCHTO},${EXTEN},1)
  
  
 +
;; 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
 +
exten => _94.,1,Set(EXTEN=${EXTEN:2})
 
;;
 
;;
;; Haukes Test, Durchwahl ins Chaos-VPN, noch nicht ins Wiki malen,
+
switch => IAX2/ccchh
;; es gibt bereits eine bessere Variante
+
 
exten => 94240,1,Dial(IAX2/packbartvpnhome/${EXTEN:4},60,r)
+
[switch_packbartvpnhome]
exten => _9424Z.,1,Dial(IAX2/packbartvpnhome/${EXTEN:4},60,r)
+
exten => s,1,WaitExten
exten => 987,1,Answer
+
exten => _94828.,1,Set(EXTEN=${EXTEN:5})
exten => 987,2,MP3Player(http://orange-01.live.sil.at:8000/)
+
switch => IAX2/packbartvpnhome
exten => 989,1,Playback(tt-weasels)
 
exten => 989,2,Playback(demo-echotest)
 
exten => 989,3,Echo
 
exten => 989,4,Playback(demo-echodone)
 
exten => 989,5,Hangup
 
  
  
include => voicemail
 
include => catchall
 
 
</pre>
 
</pre>
  

Revision as of 13:18, 19 February 2006

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=2
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)
[NTports]
context=pbx-trunk
ports=2
msn=*

; externer ISDN-Bus (PTP = Anlagenanschluss)
[TEports]
context=wall-trunk
ports=1
msn=*

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
; -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)

exten => _401801!,1,GotoIf(${EXTEN:6}?extensions,${EXTEN:6},1:extensions,s,1)



[pbx-trunk]
;;
;; Anrufe von innen
;;

include => catchall
include => dialout
include => extensions



[vpn-trunk]
;;
;; Anrufe aus dem VPN
;; ohne Dialout
;;

exten => s,1,Background(chaosvpn_willkommen_hamburg)

exten => i,1,Playback(chaosvpn_hamwanich_hamburg)
exten => i,n,PlayTones(!950/330,!1400/330,!1800/330,0)
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_fancy,${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()

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)
exten => _828X!,1,Set(SWITCHTO=packbartvpnhome)
exten => _828X!,n,Goto(tochaosiax,${EXTEN:3},1)
exten => _829X!,1,Set(SWITCHTO=packbartvpnhome)
exten => _829X!,n,Goto(tochaosiax,${EXTEN:3},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

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,Dial(misdn/g:wall/${EXTEN},,tTo)
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,WaitExten
;;
;; 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,WaitExten
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

--Pirx 20:19, 4 Feb 2006 (CET)