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 (Aktualisiert: Problemstellen mit Handwahl kommentiert, kleine Bugs behoben, dem Bayern seine 01803-Rauswahl wieder eingefügt. Dies Version ist jetzt live.)
m (/etc/asterisk/modules.conf)
 
(6 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
 
#
 
 
 
#
 
# Card Settings
 
#
 
  
card=1,hfcpci
+
Ich habe leider keine Möglichkeit gefunden, mit Asterisk ein Prefix für CallerIDs bei IAX-Verbindungen anzugeben.
card=2,hfcpci
+
Wir brauchen das, um die Rückrufroute in der Rufnummer zu vermerken.
  
#
+
Nehmen wir an, ich rufe mit meinem Telefon zuhause, das dort die CallerID 201 besitzt, über die Hamburger Vermittlung in Köln an:
# 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
+
[Köln]    <- [Hamburg]  <- [packbarthome]
te_ptp=1
 
# Karte 2 (oben) intern = PTMP, NT-Modus
 
nt_ptmp=2
 
  
#
+
In Köln soll eine CallerID angezeigt werden, über die ein Rückruf über genau die Route möglich ist, über die angerufen wird.
# Port Options
+
Die dafür nötigen Prefixe sind aber nur den angerufenen Vermittlungen bekannt, nicht der anrufenden:
#
 
  
# keine ...
+
Prefix: 94 -> Prefix: 828 -> Durchwahl: 201
</pre>
 
  
=== /etc/asterisk/misdn.conf ===
+
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.
[general]
 
debug=4
 
method=standard
 
tracefile=/var/log/misdn.trace
 
appnd_digits2exten=yes
 
bridging=no
 
  
[default]
+
[http://hendrek.frell.ambush.de/~packbart/asterisk_1_2_chan_iax2_calleridprefix.patch asterisk_1_2_chan_iax2_calleridprefix.patch]
context=pbx-trunk
+
UNIQ796ba5ba98e0ea7-pre-0000000B-QINU
language=de
 
nationalprefix=0
 
internationalprefix=00
 
rxgain=0
 
txgain=0
 
dialplan=0
 
  
; interner ISDN-Bus (PTMP = Mehrgeraeteanschluss)
+
== misdn Konfiguration ==
[internal1]
+
=== /etc/misdn_init.conf ===
context=pbx-trunk
+
UNIQ796ba5ba98e0ea7-pre-0000000C-QINU
ports=2
 
msn=*
 
  
; externer ISDN-Bus (PTP = Anlagenanschluss)
+
=== /etc/asterisk/misdn.conf ===
[wall]
+
UNIQ796ba5ba98e0ea7-pre-0000000D-QINU
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$
 
;;
 
[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
 
</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 615: 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>
 

Latest revision as of 23:52, 7 September 2007

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

Gepatchtes

CallerID-Prefix für chan_iax2

Ich habe leider keine Möglichkeit gefunden, mit Asterisk ein Prefix für CallerIDs bei IAX-Verbindungen anzugeben. Wir brauchen das, um die Rückrufroute in der Rufnummer zu vermerken.

Nehmen wir an, ich rufe mit meinem Telefon zuhause, das dort die CallerID 201 besitzt, über die Hamburger Vermittlung in Köln an:

[Köln] <- [Hamburg] <- [packbarthome]

In Köln soll eine CallerID angezeigt werden, über die ein Rückruf über genau die Route möglich ist, über die angerufen wird. Die dafür nötigen Prefixe sind aber nur den angerufenen Vermittlungen bekannt, nicht der anrufenden:

Prefix: 94 -> Prefix: 828 -> Durchwahl: 201

Mit diesem Patch ist es möglich, in der iax.conf für type=friend oder type=user eine Option 'calleridprefix' anzugeben. Diese wird eingehenden CallerIDs bei Anrufen dieses Users vorangestellt.

asterisk_1_2_chan_iax2_calleridprefix.patch �UNIQ796ba5ba98e0ea7-pre-0000000B-QINU

misdn Konfiguration

/etc/misdn_init.conf

�UNIQ796ba5ba98e0ea7-pre-0000000C-QINU

/etc/asterisk/misdn.conf

�UNIQ796ba5ba98e0ea7-pre-0000000D-QINU

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)

Dieser Patch ist für misdn 0.2.x.
misdn 0.3.x benutzt den "dial"-Ton aus der indications.conf. Für das Nebenstellenfreizeichen habe ich den Ton folgendermassen geändert: �UNIQ796ba5ba98e0ea7-pre-0000000E-QINU -- packbart 12:48, 26 Mar 2006 (CEST)


�UNIQ796ba5ba98e0ea7-pre-0000000F-QINU

Asterisk Konfiguration

/etc/asterisk/extensions.conf

�UNIQ796ba5ba98e0ea7-pre-00000010-QINU

/etc/asterisk/modules.conf

test

Fax

libtiff

Vor allen Weiterungen benötgen wir libtiff 3.7.1 (neue Versionen sollen teilweise nicht richtig funktioneren). �UNIQ796ba5ba98e0ea7-pre-00000012-QINU

spandsp

Zur Faxkonfiguration wird zunächst spandsp benötigt [[1]]. �UNIQ796ba5ba98e0ea7-pre-00000013-QINU

Asterisk Applikationen

�UNIQ796ba5ba98e0ea7-pre-00000014-QINU