it:linux:asterisk

Asterisk

  1. apt-get update && apt-get -y upgrade && reboot
  2. apt-get -y install build-essential libncurses5-dev libcurl3-dev libvorbis-dev libspeex-dev unixodbc unixodbc-dev libiksemel-dev linux-headers-`uname -r` flex bc pciutils libnewt-dev libusb-dev
  3. wget http://www.misdn.org/downloads/mISDN.tar.gz && wget http://www.misdn.org/downloads/mISDNuser.tar.gz
  4. Anschließend mIsdn auspacken und installieren
  5. wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
  6. Jetzt Asterisk installieren
  7. make samples

    nicht vergessen

  1. Telnet auf Fritzbox aktiviern über Tastencode #96*7*
  2. cd /var && wget http://spblinux.de/fbox/cfg_asterisk14
  3. chmod +x cfg_asterisk14 && ./cfg_asterisk14 usb_install
  4. danach liegen die config Dateien von asterisk unter /var/asterisk14/etc/asterisk
  5. Hinweis: Asterisk darf nicht auf Port 5060 lauschen, da dieser bereits von der FritzBox belegt wird
  6. Um Asterisk automatisch beim start der Box zu starten sollte man folgendes in die /var/flash/debug.cfg eintragen:
    sleep 40
    cd /var/media/ftp/USB-Partition-0-1/addons
    ./cfg_asterisk usb_install
    ./cfg_asterisk start

Die unten stehende Testkonfiguration hab ich probiert und sie klappt auch, nur die hello-world Datei ist nicht vorhanden und daher kann asterisk sie nicht abspielen.

Hier scheint eine andere glibc installiert zu sein, sodass die Variante von spblinux nicht funktioniert. Ich hab aber was unter http://c2a2b2.com/fbox/ gefunden.

  1.  rm /etc/asterisk/sip.conf; rm /etc/asterisk/extensions.*
  2. sip.conf:
    [general]
    bindport = 5060
    bindaddr = 0.0.0.0
    context = sonstige
    
    [2000]
    type = friend
    context = meine-telefone
    secret = 1234
    host = dynamic
    
    [2001]
    type = friend
    context =  meine-telefone
    secret = 1234
    host = dynamic
  3. extensions.conf:
    [sonstige]
    
    exten => 1234,1,Answer()
    exten => 1234,2,Hangup()
    
    
    [meine-telefone]
    exten => 1234,1,Answer()
    exten => 1234,2,Playback(hello-world)
    exten => 1234,3,Hangup()
    
    exten => _200X,1,Dial(SIP/${EXTEN}, 5)
    exten => _200X,2,VoiceMail(${EXTEN}, u) ;VoiceMail

Bei der Installation unter Debian muss darauf geachtet werden, das die hisax isdn-treiber nicht geladen werden (sonst Kernel OOPS).

  • /etc/asterisk/misdn.conf: Am besten alle andere Kontexte auskommentieren und dann:
    [isdn]
    ports=1
    context=from-isdn
    msns=*
  • Telefonate nach ISDN Netz:
    [meine-telefone]
    exten => _0X.,1,Dial(mISDN/g:isdn/${EXTEN:1})

    Wobei „:1“ die führende 0 wegschneidet.

  • Telefonate immer nach ISDN mit gesetzer CallerID:
    [meine-telefone]
    exten => _X.,1,Set(CALLERID(all)=Joe Smith <25>) 
    exten => _X.,2,Dial(mISDN/g:isdn/${EXTEN:1})
  • Telefonate vom ISDN Netz:
    [from-isdn]
    exten => _20X,1,Dial(SIP/${EXTEN})

    Dies sollte alle MSNs (200 - 209) an die gleichlautenden SIP Extensions weiterverbinden

Wenn man die FritzBox als VoIP ATA benutzt, kann es zu Problemen beim Verbinden von externen Gesprächen kommen. Die Asterisk-Fehlermeldung sagt irgendwas wie „codec mismatch“.
Dieses Problem kann man beseitigen/umgehen, wenn man die FritzBox zwingt einen bestimmten Codec zu verwenden.

allow = g726
disallow = ulaw,alaw

Dieser Eintrag in der sip.conf hat bei mir die Probleme beseitigt.

…oder wer nicht hören will.

  • Faxen über Asterisk (ISDN) und SIP ATA funktioniert NICHT. (Glaubt mir, ich habs probiert.)
  • Was aber funktionieren soll: eine synchronisierte Analogkarte, die das Taktsignal von der ISDN Karte abgreift, an der der externe S0 Kanal steckt.
  • Also bleibt nur noch ein Faxserver!
  • Hylafax braucht zunächst mal ein Modem, in diesem Fall iaxmodem.
  • iax.conf ändern, damit sich iaxmodem am Asterisk anmelden kann.
  • Hylafax installieren
  • und mit faxsetup konfigurieren

Fax per Mail

  • /etc/hylafax/FaxDispatch:
     SENDTO=meinefaxe@firma.de
    FILETYPE=pdf
  • /etc/init.d/hylafax restart

Mail zu fax

  • Benutzer anlegen, der Mail bekommt, die als Fax versendet werden soll.
  • .procmailrc:
    	
    :0
    * ^Content-Type: multipart/
    {
      :0 B
      * ^Content-.*attachment.*name=.*\.(pdf)
      {
        :0w:
    	* ^Subject:[ 	]*\/[^ 	].*
    	| faxmail -d "$MATCH"  >>output
      }
    }

    (gefunden hier.)

  • it/linux/asterisk.txt
  • Zuletzt geändert: 2015/12/24 14:26
  • von 127.0.0.1