.titleBar { margin-bottom: 5px!important; }

Howto für Neuinstallation von opt_asterisk auf fli4l 2.1.9!

Dieses Thema im Forum "Asterisk ON fli4l" wurde erstellt von Linus_Pauling, 21 Mai 2005.

  1. Linus_Pauling

    Linus_Pauling Neuer User

    Registriert seit:
    13 Mai 2005
    Beiträge:
    116
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Tutorial für die Neuinstallation von opt_asterisk auf fli4l

    I. Ausgangslage

    Es muss ein fli4l 2.1.9 laufen (mit dem ist es getestet. 2.1.8 ginge wohl auch. Darauf wird aber nicht weiter eingegangen)

    Es müssen folgende Pakete installiert sein:

    - base
    - dsl.tar.gz
    - hd.tar.gz
    - isdn.tar.gz
    - sshd.tar.gz
    - 1375-faxrcv-2.1.7.tar.gz
    - 1467-opt_dyndns-2.2.0pre8.tar.gz
    - fli4l-2.1.9-patch-6.tar.gz
    - easycron.tar.gz (bei Provider mit Zwangstrennung)


    Zur base.txt:
    Es gibt unterschiedliche Meinungen, ob man in der Firewall Ports öffnen muß, um asterisk zum Laufen zu bekommen. Nach gründlichem Studium denke ich, dass es immer besser ist, so wenig Ports wie möglich zu öffnen. Im o.g. Thread haben fli4l-l00ser und netview im Grunde beide recht. Der eine macht es mit den default-Regeln, der andere ohne. Ist Geschmacksache, wobei die Version ohne default-Regeln etwas mehr individuellen Spielraum läßt. Es ist also Geschmacksache. Allerdings halte ich es nicht unbedingt für "sauberer", die Ports 5060 und 10000-20000 zu öffnen, da die zweite default-Regel eine Kommunikation auf diesen Ports, da von asterisk eh schon geöffnet, sowieso akzeptiert.

    Ich empfehle daher eine base.txt nach folgendem Muster:

    Code:
    NEW_FW_CONFIG='yes'               
    INPUT_POLICY='REJECT'             
    INPUT_ACCEPT_DEF='yes'          
    INPUT_LOG='yes'                  
    INPUT_LIST_N='1'
    INPUT_LIST_1='IP_NET_1 ACCEPT'    
    
    
    #Wenn man INPUT_ACCEPT_DEF='yes' setzt, ist es dasselbe wie
    #
    #INPUT_ACCEPT_DEF='no'					# keine default-Regeln
    #INPUT_LIST_2='prot:icmp:8 ACCEPT'			# gestattet icmp echo requests 
    #INPUT_LIST_3='state:ESTABLISHED,RELATED ACCEPT'	# akzeptiert Pakete, die zu bestehenden Verbindungen gehören
    #INPUT_LIST_4='if:lo:any ACCEPT' 			# gestattet lokale Kommunikation
    

    Zu fli4l-2.1.9-patch-6.tar.gz:
    Der Patch ist unbedingt aufzuspielen. Ohne läuft das opt_asterisk nicht.
    Download unter http://www.fli4l.de/german/extern/bugs/fli4l-2.1.9-bug.html
    Dann zuallerletzt, wenn alles soweit installiert ist, wie ein opt entpacken und per Imonc auf den fli4l geladen. Allerdings diesmal mit allen Optionen, also Haken an Kernel, Root-Dateisystem, Opt-Datei, rc.cfg, syslinux.cfg.

    Zu easycron.tar.gz:
    Um nicht der Zwangstrennung zum Opfer zu fallen, empfehle ich hier einen Ping alle x Minuten (je nach Zwangstrennungszeit) auf irgendeine Website. Damit gaukelt man dem Provider Traffic vor.
    Ich bin bei T-Com und die trennen nach 20 Minuten Inaktivität.
    Meine easycron.txt:

    OPT_EASYCRON='yes'
    EASYCRON_NOMAIL='yes'
    EASYCRON_N='1'
    EASYCRON_1_CUSTOM=''
    EASYCRON_1_COMMAND='ping -c 4 www.xyz.de'
    EASYCRON_1_TIME='*/X * * * *' # X für alle X Minuten


    II. Neue Hardware

    1. Neue zusätzliche ISDN-Karte
    Jetzt braucht man, zusätzlich zur eh schon vorhandenen möglichst AVM PCI ISDN-Karte, eine ISDN-Karte mit HFC-Chipsatz.

    Dieser Chipsatz zeichnet sich dadurch aus, dass er einen kleinen Dom bzw HFC auf dem Chip abgebildet hat.

    Folgende Karten kann man nutzen:
    http://isdn.jolly.de/cards.html

    Gemäß dieses Threads kann man bei eBay die Suche bemühen, wie von sion beschrieben:

    Die neue Karte einfach ohne Treiber einbauen.


    2. Neuer zusätzlicher NTBA
    Gibts bei eBay in Massen für 1 Euro.

    3. Zusätzliches ISDN- oder Netzwerkabel
    Es muß so lang sein, dass es vom fli4l zum Telefonstandort reicht.


    III. Verkabelung der neuen Hardware

    1. Das neue Kabel wird jetzt gemäß der Anleitung in Christophers Blog "verarbeitet" und an den neuen zusätzlichen NTBA angeschlossen.

    Damit man nicht dauernd blättern und klicken muß, hier ein Ausschnitt aus Christophers Blog:

    Das Ziel der Verkabelung ist also folgendes:

    [​IMG]


    IV. Software

    Neueste Version von OPT_ASTERISK hier downloaden: http://www.roellgen.name/

    Für AMD-Prozessoren: http://www.roellgen.name/download/opt_asterisk_13a.i586.tar.gz (ACHTUNG BETA! Aber stabil, ich habs laufen.)
    Hier aber immer nochmal auf die Website http://www.roellgen.name/ gehen. Die Entwicklung schreitet zügig voran und es können neue Versionen online sein.


    Hinweis für fli4l mit laufender mtg_capi:
    Man könnte Probleme bekommen, wenn mtg_capi läuft, denn:

    Ich habe allerdings mit der "Standard" mtgcapi gearbeitet und mußte die o.g. Konfigurationen vornehmen.
    Allerdings gibt es auf dieser Seite: http://home.tiscali.de/gw_hp/fli4l/ ein opt_mtgcapi, welches angeblich auch mit opt_asterisk zusammen laufen soll. Steht jedenfalls da, habs aber nicht getestet.

    VI. Konfiguration der Software

    Bis jetzt war es einfach. Der schwierige Teil, ist die Einrichtung des opt_asterisk.
    Man sollte nicht die Standardkonfiguration benutzen, sondern einiges per Hand machen, weil man nur so ein genau auf seine Bedürfnisse zugeschnittenes opt_asterisk bekommt.

    Ich bin kein Experte, aber ich poste hier meine config-Dateien und gebe einige Tips, wie der eine oder andere Parameter zusammenhängt. WARUM das alles so ist, entzieht sich auch meiner Kenntnis. Ich kann nur zeigen, wie man einen fli4l mit opt_asterisk zum Laufen bekommt. Je nachdem, was man wünscht, kann das natürlich erheblich abweichen.

    HIER wird jetzt gezeigt, wie man einen GMX-Netphone Account parallell zu einem ISDN-Anschluss betreibt. Mehr nicht!
    Man muss in dieser Konfiguration eine "Null" vorweg wählen, um per GMX zu telefonieren. Eine "Neun", um wie gehabt per ISDN zu telefonieren. Es ist bei mir 1 ISDN-Telefon angeschlossen.
    Zum besseren technischen Verständnis hier der Weg der Gespräche:


    Und los:

    1. asterisk.txt
    Code:
    OPT_ASTERISK='yes'
    
    ASTERISK_CAPI='yes'
    
    ASTERISK_GENERATE_CAPI='no'
    
    ASTERISK_CAPI_MSN='xx'	#irgendeine ausgedachte interne MSN
    
    ASTERISK_HFC='yes'
    
    ASTERISK_X100P='no'
    
    ASTERISK_X100P_NUM='654321'
    
    ASTERISK_GENERATE_ZAP='no'
    
    ASTERISK_GENERATE_MODULES='yes'
    
    ASTERISK_GENERATE_SIP='no'
    
    ASTERISK_EXTERNHOST='xxxx.dyndns.org'		
    ASTERISK_IP_NET='192.168.0.1/24'
    	
    ASTERISK_SIP_N='1'				
    ASTERISK_SIP_1_PROVIDER='1und1'			
    ASTERISK_SIP_1_USER='49xxxxxxxxxxxx'			
    ASTERISK_SIP_1_PASSWORD='xxxxxxxxxx'			
    ASTERISK_SIP_1_HOSTNAME='sip-gmx.net'
    
    # abhier einfach so übernehmen, ist egal, hat keinen Einfluss auf die Konfiguration		
    
    ASTERISK_SIP_2_PROVIDER='sipgate'		
    ASTERISK_SIP_2_USER='test2'			
    ASTERISK_SIP_2_PASSWORD='test2'			
    ASTERISK_SIP_2_HOSTNAME='sip.sipgate.de'	
    
    ASTERISK_GENERATE_EXTENSIONS='no'
    
    ASTERISK_INT_MSN_N='1'
    ASTERISK_INT_1_MSN='22268'			
    ASTERISK_INT_1_VM_PASSWORD='123456'		
    ASTERISK_INT_2_MSN='5678'			
    ASTERISK_INT_2_VM_PASSWORD='911'
    
    Meine asterisk.txt sieht so aus und ist sicher nicht sauber. Aber ich mag nicht (nochmal :)) 20 Mal booten, um zu sehen, wie die asterisk.txt noch schlanker werden könnte.


    2. sip.conf ([Windows-Pfad]/opt/etc/asterisk/sip.conf)

    Hier wird der Provider konfiguriert.

    Sieht so aus:
    Code:
    [general]
    port = 5060
    bindaddr = 0.0.0.0
    Localnet = 192.168.0.1/24  # hier eintragen, was in der base.txt in IP_NET_1='xxx.xxx.xxx.xxx/xx' steht. 192.168.0.1/24 ist natürlich nur ein Beispiel.
    srvlookup = yes
    externhost=xxxx.dyndns.org # Euere dyndns-Adresse
    externrefresh=10
    context=default
    disallow=all
    allow=gsm
    allow=ulaw
    allow=alaw
    allow=ilbc
    allow=speex
    allow=g726
    allow=g729
    allow=g723.1
    
    register => 49GMX-Nummer_ohne_Null:passwort@sip-gmx.net/49GMX-Nummer_ohne_Null
    
    [gmx]
    context=external-GMX_eingehend  #dieser context ist abhängig von der entensions.conf.
    type=friend
    username=49GMX-Nummer_ohne_Null
    secret=passwort
    host=sip-gmx.net
    fromuser=49GMX-Nummer_ohne_Null
    fromdomain=sip-gmx.net
    qualify=yes
    allow=gsm
    allow=g726
    allow=g729
    allow=gsm
    allow=ilbc
    allow=speex
    allow=g723.1
    insecure=very
    caninvite=no
    canreinvite=no
    nat=yes
    maxexpirey=3600
    defaultexpirey=240
    

    3. capi.conf ([Windows-Pfad]/opt/etc/asterisk/capi.conf)
    Code:
    [general]
    nationalprefix=0
    internationalprefix=00
    rxgain=0.8
    txgain=0.8
    
    [interfaces]
    
    msn=xx,yy       #Hier kommen frei wählbare, interne MSN rein. Bei nur einer: msn=xx. Können auch mehr Stellen haben.
    incomingmsn=*
    controller=1
    softdtmf=1
    accountcode=
    context=default # default ist abhängig von der extensions.conf
    ;echosquelch=1
    ;echocancel=yes
    ;echotail=64
    ;callgroup=1
    ;deflect=12345678
    devices=2
    
    
    ;PointToPoint (55512-0)
    ;for outgoing calls use example 5551212
    ;and in dialplan you can use callerid like
    ;exten => _0XXX.,1,StripMSD,1
    ;exten => _XXX.,2,Dial,CAPI/55512${CALLERIDNUM}:bBYEXTENSION
    ;============================================================
    ;mode=immediate
    ;isdnmode=ptp
    ;msn=55512
    ;controller=2
    ;devices=30
    

    4. zapata.conf ([Windows-Pfad]/opt/etc/asterisk/zapata.conf)
    Code:
    [channels] 
    language=de
    context=ausgehend  #Diese context-Zeile steht eigentlich weiter unten. Hier hoch holen. "ausgehend" ist abhängig von der extensions.conf
    switchtype=euroisdn 
    signalling=bri_net_ptmp 
    pridialplan=local
    echocancel=yes 
    immediate=no 
    ;setcallerid(""<${CALLERIDNUM}>) 
    overlapdial=yes
    group=1 
    channel=>1-2 
    ; 
    ;signalling = bri_cpe_ptmp 
    ;group = 2 
    ;channel => 4-5
    


    5. extensions.conf ([Windows-Pfad]/opt/etc/asterisk/extensions.conf)

    So, das Herzstück von asterisk. Hier wird so ziemlich alles festgelegt.
    In der folgenden Datei wird davon ausgegangen, dass 2 externe Telekom MSN erreichbar sein sollen. Ebenso ist 1 ISDN-Telefon angeschlossen. Man kann auch 2 ISDN-Telefone oder mehr haben. Wichtig ist, dass in jedes Telefon als erste MSN die neuen, ausgedachten MSN programmiert werden. Meine neuen MSN heissen 26 und 27. Die stehen auch in der capi.conf unter
    [interfaces]
    msn=26,27

    Code:
    [internal]
    exten => 26,1,Dial(Zap/g1/26,20,Tt)
    exten => 26,2,Voicemail2(u26)
    exten => 26,3,Hangup
    exten => 26,102,Voicemail2(b26)
    exten => 26,103,Hangup
    
    [external-GMX_ausgehend]
    exten => _0.,1,Dial(SIP/${EXTEN:1}@gmx,60,tTgH)
    exten => _0.,2,Playback(invalid)
    exten => _0.,3,Congestion
    exten => _0.,4,Busy
    exten => _0.,5,Hangup
    
    [external-ISDN_ausgehend]
    exten => _9.,1,Answer
    exten => _9.,2,Dial(CAPI/26:${EXTEN:1},,Tt)  #Die 26 heißt, dass mit Apparat 26 rausgewählt wird
    exten => _9.,3,Congestion
    exten => _9.,4,Hangup
    
    [external-ISDN_eingehend]
    exten => Telekom_MSN_1,1,Dial(ZAP/g1/26,45,r) #Wird Telekom_MSN_1 angerufen, klingelt Apparat 26
    exten => Telekom_MSN_2,1,Dial(ZAP/g1/27,45,r) #Wird Telekom_MSN_2 angerufen, klingelt Apparat 27
    
    [external-GMX_eingehend]
    exten => 49GMX-Nummer_ohne_Null,1,Dial(ZAP/g1/26,45,r) #Ruft jemand per VoIP die GMX-Nummer an, klingelt Apparat 26
    
    [vmailbox]
    exten => 8000,1,VoicemailMain
    
    [ausgehend]
    include => external-GMX_ausgehend
    include => external-ISDN_ausgehend
    
    [default]
    include => external-GMX_eingehend
    include => external-ISDN_eingehend
    include => vmailbox
    include => internal 
    
    Das war es soweit.

    Falls Fragen sind, ruhig hier im Forum stellen. Die sind alle sehr hilfsbereit hier.

    @all: Falls sich Fehler eingeschlichen haben, bitte ich um Meldung. Dann korrigiere ich schnellstmöglich.

    Viel Spass!

    Euer Linus