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

Trixbox 2.6.1.13 und Chan-Capi mit Gerdeskarte

Dieses Thema im Forum "Asterisk ISDN mit CAPI (chan_capi, chan_capi_cm)" wurde erstellt von seagater, 14 Nov. 2008.

  1. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 seagater, 14 Nov. 2008
    Zuletzt bearbeitet: 14 Nov. 2008
    Hallo zusammen,

    ich setze hier gerade die Trixbox auf, installiere den ISDN-Kartentreiber (Gerdes)
    mit Chan-Capi.

    Leider bringt das Make, wegen dem Chan-Capi nur errors.

    Kernel-Sourcen *-devel
    glib
    gcc
    ... usw.

    alles nach Anleitung installiert.

    Wenn ich das Makefile öffne, dann sind hier Pfadangaben vorhanden,
    die nicht stimmen können, weil sie teilweise nicht vorhanden sind.

    Jetzt habe ich gesehen, dass es auch eine asterisk-chan-capi gibt.

    Weiß jemand, ob es damit auch geht? Wenn nein,
    kann mir jemand einen Tip geben, wie ich hier weiter komme.

    Das Forum und über Google habe ich mehrfach gesucht, viele Tipps
    dazu gelesen, aber nicht so richtig weitergekommen.

    Vielen Dank vorab!

    Hans
     
  2. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo seagater,

    hast du denn die kernelsourcen installiert? und glibc? Was für ein chan_capi benutzt du denn? (Version)

    Was meinst du mit asterisk-chan_capi?
     
  3. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #3 seagater, 14 Nov. 2008
    Zuletzt bearbeitet: 14 Nov. 2008
    Soweit ich weiß, ist Trixbox auf RedHat aufgebaut. Unter RedHat sind die Sourcen
    in den *-devel Paketen. Installiert habe ich glibc und -devel, zlib und -devel, gcc,
    gcc-c++, libstdc++ und libtiff

    chan-capi-1.1-0 -da dies nicht ging und irgenwo im Forum stand
    chan-capi-head
    aktuell von chan-capi.org geladen

    Es gibt zu Trixbox ein Paket, dass sich
    asterisk-chan_misdn.i386
    nennt. Mit diesem Tool soll sich eine asterisk-chan-capi installiert werden.
    Habe ich über Google gefunden bzw. ich finde dieses Paket auch über yum
     
  4. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    chan_capi 1.0.1 funktioniert auf jeden Fall, probier das mal.

    Misdn würde ich dir nicht empfehlen, das funktioniert mit den Gerdes Karten nicht so ohne weiteres. Hast du dir das mal angeschaut:

    http://www.gintern.de/download/primux/PrimuX-Linux_FAQ.pdf

    da steht doch alles beschrieben...
     
  5. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #5 seagater, 14 Nov. 2008
    Zuletzt bearbeitet: 14 Nov. 2008
    Das PDF habe ich schon, ich mache ja seit 14 Tagen nichts anderes als mich
    mit VOIP, Gerdes, ... zu beschäftigen.

    Die Frage, ob ich die Sourcen installiert habe, habe ich mir schon selbst gestellt.
    Dazu habe ich dann in Erfahrung gebracht, dass die Sourcen in den -devel Paketen
    sind. Nur ob das stimmt, kann ich nicht sagen, das mit dem Kernel und den Sourcen
    gehört zwar dazu, aber irgendwie raff ich das nicht so ganz, weil im Debian
    ist das wieder anders.

    Ergebnis chan-capi-1.0.1
    ---
    [trixbox1.localdomain chan_capi-1.0.1]# make
    ./create_config.sh "/usr/include"
    Checking Asterisk version... 1.4.21.2-2 RPM by vc-rpms@voipconsulting.nl
    * found Asterisk version 1.4
    Using Asterisk 1.4 API
    * found stringfield in ast_channel
    * found 'indicate' with data
    * found extended ast_channel_alloc
    * found send_digit_end with duration
    config.h complete.

    [CC] chan_capi.c -> chan_capi.o
    In file included from chan_capi.c:89: -->mal sehen was da steht
    chan_capi20.h:7:20: error: capi20.h: No such file or directory
    chan_capi20.h:29:23: error: capiutils.h: No such file or directory
    In file included from chan_capi.c:89:
    chan_capi20.h: In function âCAPI_COMMAND_PACKâ:
    chan_capi20.h:105: error: âCAPI_REQâ undeclared (first use in this function)
    chan_capi20.h:105: error: (Each undeclared identifier is reported only once
    chan_capi20.h:105: error: for each function it appears in.)
    chan_capi20.h:106: error: âCAPI_CONFâ undeclared (first use in this function)
    chan_capi20.h:107: error: âCAPI_INDâ undeclared (first use in this function)
    chan_capi20.h:108: error: âCAPI_RESPâ undeclared (first use in this function)
    In file included from chan_capi.c:90:
    chan_capi.h:42:2: warning: #warning If you dont update your libcapi20, some fax features are not available
    In file included from chan_capi.c:90:

    Das sieht auf jedem Fall besser aus, aber noch nicht perfekt.
     
  6. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es sieht so aus, wie wenn er hier einen Pfad nicht finden würde, denn die
    Dateien sind ja da.

    Irgend etwas fehlt mir noch, damit ich hier weiter komme.

    Bin für jede Idee dankbar!

    Hans
     
  7. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Melde mich zurück mit neuen Erfolgen.

    Der erste Fehler den ich gemacht hatte war, dass ich die chan-capi
    nicht in das Verzeichnis /usr/src kopiert hatte.
    Nach dem kopieren war zwar die Fehlerliste wesentlich kleiner, aber noch
    nicht perfekt.
    Irgenwo im Forum las ich dann, ich soll die chan_capi-HEAD.tgz runterladen
    und installieren.

    Folgender Fehler ist nun noch zu finden
    ....
    chan_capi.c: In function 'capi_new'
    chan_capi.c:1927 error two few arguments to function 'ast channel alloc'
    make: *** chan_capi.o Error 1

    Soweit ich weiß, installiert ja Trixbox eine Capi mit, könnte sein,
    dass sich beide stören oder eine capi vorhanden ist, die ich mit
    der anderen chan_capi erstellt haben.
     
  8. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das ist der aktuelle Stand, bei ich nicht weiter weiß!

    [trixbox1.localdomain src]# make install config
    install -d -m 755 /usr/lib/asterisk/modules
    for x in chan_capi.so; do install -m 755 $x /usr/lib/asterisk/modules ; done
    make: *** No rule to make target `config'. Stop.
    [trixbox1.localdomain src]#

    Gruß
    Hans
     
  9. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das deuted darauf hin das dir die build-essentials fehlen... die kannst du mit apt-get install build-essential installieren, probier das mal
     
  10. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo FlashDeluxe,

    vielen Dank für die Info, aber Trixbox läuft auf RedHat, da gibt es kein apt-get. Da heißt das yum -y install ....,
    die Sourcen befinden sich in *-devel Paketen.

    Unabhängig davon, habe ich die Lösung eben gefunden.
    Von Chan-Capi habe ich die HEAD-Version genommen
    und wo ich ein Stück dazu gebraucht habe, war die Tatsache,
    das der Befehl nicht

    "make install config" heißt, sondern

    "make install_config"

    Mit dem ersten Befehl bekam ich immer einen Fehler,
    mit dem zweiten lief es wunderbar durch.
    Unter den verschiedenen Linuxsystemen ist eben nicht jeder
    Befehl gleich, auch wenn er so heißt.

    Ich werde den Rechner morgen an den Anlagenanschluss hängen,
    dann sehen wir weiter.

    Hier ein Auszug von capi show channels
    ----
    trix*CLI> capi show channels
    CAPI B-channel information:
    Line-Name NTmode state i/o bproto isdnstate ton number
    ----------------------------------------------------------------
    ISDN4#02 yes ----- - trans 0x00 ''->''
    ISDN4#01 yes ----- - trans 0x00 ''->''
    ISDN3#02 no ----- - trans 0x00 ''->''
    ISDN3#01 no ----- - trans 0x00 ''->''
    ISDN2#02 no ----- - trans 0x00 ''->''
    ISDN2#01 no ----- - trans 0x00 ''->''
    ISDN1#02 no ----- - trans 0x00 ''->''
    ISDN1#01 no ----- - trans 0x00 ''->''
    ISDN1#02 no ----- - trans 0x00 ''->''
    ISDN1#01 no ----- - trans 0x00 ''->''
    ---

    Das mit den zwei NT-Channels ist so gewollt,
    da soll ein vorhandener ISDN-Router für eine Fernwartung ran,
    wenn ich das so hinbekomme.

    Ich sollte wahrscheinlich einen neuen Thread aufmachen für meine
    restlichen Fragen/Probleme aber ein Versuch ist es ja wert.

    a) Es kommt ein Ruf auf eine bestimmte Nebenstelle, die dann
    umgeleitet werden muss auf einen der NT-Kanäle, der dann
    zu dem ISDN-Router geht. Dieser wiederum baut einen Rückruf
    auf, der über den zweiten NT-Kanal zurückkommt und über
    einen freien Kanal über den Anlagenanschluss raus geht.

    b) Das ich einer bestimmten oder mehreren Nebenstellen den externen Ruf verbieten kann, ist mir klar. Aber er soll aus einem Telefonbuch,
    das hinterlegt ist, einen Eintrag auswählen können, den er dann auch
    extern erreichen soll. Aber nur die, auch im Telefonbuch hinterlegt sind.

    Vielen Dank nochmal und einen schönen Sonntag noch!

    Hans
     
  11. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also bei a. sehe ich keine wirkliche Frage, die müsstest du jedenfalls genauer ausführen.

    zu b. ist zu sagen(wenn ich dich richtig verstanden habe), dass du jede einzelne nummer in der extensions.conf einstellen kannst. Dann kannst du nur zu den nummern anrufen, die auch wirklich in der extensions.conf stehen
     
  12. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #12 seagater, 17 Nov. 2008
    Zuletzt bearbeitet: 17 Nov. 2008
    Hallo FlashDeluxe,

    der Test ist heute negativ verlaufen, irgendwie habe ich das Gefühl, wie wenn mir noch was fehlt. Wenn ich auf der Konsole "capiinfo" eingebe, dann erscheint Gerdes mit
    allem was er zu bieten hat. Wenn ich im CLI "capi show channels" eingebe, dann sehe
    ich auch meine Kanäle. Wenn ein Sipteilnehmer extern wählt, sehe ich auch im Protokoll,
    das Asterisk einen externen Ruf aufbauen will, schreibt aber, dass er diesen
    nicht zur Verfügung hat.

    Gibt es noch andere Möglichkeiten zur Kontrolle, was nun da ist oder nicht?
    Genaue Infos kann ich aber erst morgen posten.

    Wenn wir schon bei der extension.conf sind, wo muss ich in der Extension.conf diese Strings
    eintragen. Die ist ja in mehere Bereiche, mit Makros aufgebaut.

    ----------Auszug aus GERDES-Anleitung
    Diese Strings müssen nun entsprechend in die extensions.conf eingetragen werden. Eine einfache
    extensions.conf könnte somit wie folgt aussehen:
    [general]
    static=yes
    writeprotect=no
    [default]
    exten => 040123456, 1,Dial,CAPI/contr1/040123456/b
    [capi-in]
    exten => 4711,1,Wait,1 ; Wait a second, just for fun
    exten => 4711,2,Answer ; Answer the line
    exten => 4711,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
    exten => 4711,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
    exten => 4711,5,BackGround(demo-congrats) ; Play a congratulatory message
    exten => 4711,6,BackGround(demo-instruct) ; Play some instructions
    exten => 4712,1,Dial,CAPI/contr2/4712/b
    Im Abschnitt [default] werden die Nummern definiert, die von den internen Teilnehmern angerufen werden
    können. In diesem Fall ist die Durchwahl 040123456 definiert, welche einen externen Ruf an eben jene
    Nummer über Controller 1 (also über die externe ISDN Leitung) absetzt.
    Im Abschnitt [capi-in] wird geregelt was passiert, wenn ein externer Ruf eingeht. Hier bekommt der Anrufer eine
    Ansage abgespielt (4711,1 bis 4711,6) und hat die Möglichkeit über die definierte Durchwahl 4712 den internen
    Anschluss 4712 an Controller 2 (NT Port) anzurufen. Der Name capi-in für diesen Abschnitt ergibt sich aus der
    Definition context in der capi.conf (siehe Abschnitt chan_capi).
    ----Auszug Ende

    Zu den Fragen

    a) Ein Anruf kommt über einen der 3 NTBAs auf die Trixbox, die leitet den Anruf um auf den ISDN-Router, der wiederum einen Rückruf aufbauen soll, über die Trixbox zu den NTBAs.

    oder einfacher formuliert, ich möchte über die Trixboxtelelfonanlage einen ISDN-Router
    ansteuern mit Rückruffunktion. (wenn ich den Gerdes-Auszug genau lese, dann steht
    ja genau das da was ich brauche, würde Frage a und b beanworten)

    b) Ein bestimmter Sip-Teilnehmer, kann nur intern telefonieren. Soweit ist noch alles klar.
    Da ja jedes Telefon ein Telefonbuch hat, möchte ich genau diese
    Buch mit Nummern stopfen, mit der der Sip-Teilnehmer auch externe Gesprächspartner
    anwählen kann. Das Telefonbuch kann er aber nur laden, nicht verändern.



    Hans
     
  13. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also hat die Installation jetzt geklappt?

    Bevor wir uns jetzt an den komplizierten Teil der extensions.conf machen, wäre es wohl klug erst einmal zu gucken, ob du überhaupt telefonieren kannst oder nicht? Die extensions.conf würde dann so aussehen:

    [general]
    static=yes
    writeprotect=no

    [capi-out]
    exten=> _X.,1,Dial(CAPI/contr1/${EXTEN}/b)

    [capi-in]

    exten=> Nummer des Telefonanschlusses,1,Dial(CAPI/contr2/22/b)

    hierbei ist Port 1 als TE konfiguriert und Port2 als NT.

    das musst du auch in der capi.conf einstellen (ntmode=yes)
    und im primux Treiber (/usr/lib/primux da musst du ./ccapicfg eingeben und den controller auf NT stellen (bzw. die Controller, da du ja eine 4S0 NT hast))
    und dann auf aktivieren drücken

    das funktioniert übrigens nur im root modus
     
  14. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo FlashDelux,

    Dank deiner Hilfe konnte ich die Karte nun soweit bringen, dass die Kanäle gefunden und die Diagnostik zufrieden anwortete.


    Hier einen Ausschnitt aus dem Anwahlscript:

    - Executing [s@macro-outbound-callerid:23] NoOp("SIP/26-0a25a6d0",
    "CallerID set to "S. Wxxxr 096xxxxxxxx" <>") in new stack
    -- Executing [s@macro-dialout-trunk:12] AGI("SIP/26-0a25a6d0",
    "fixlocalprefix") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
    -- AGI Script fixlocalprefix completed, returning 0
    -- Executing [s@macro-dialout-trunk:13] Set("SIP/26-0a25a6d0",
    "OUTNUM=7247") in new stack
    -- Executing [s@macro-dialout-trunk:14] Set("SIP/26-0a25a6d0",
    "custom=AMP") in new stack
    -- Executing [s@macro-dialout-trunk:15] GotoIf("SIP/26-0a25a6d0",
    "1?gocall") in new stack
    -- Goto (macro-dialout-trunk,s,17)
    -- Executing [s@macro-dialout-trunk:17] Macro("SIP/26-0a25a6d0",
    "dialout-trunk-predial-hook|") in new stack
    -- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/26-0a25a6d0",
    "0?bypass|1") in new stack
    -- Executing [s@macro-dialout-trunk:19] GotoIf("SIP/26-0a25a6d0",
    "1?customtrunk") in new stack
    -- Goto (macro-dialout-trunk,s,22)
    -- Executing [s@macro-dialout-trunk:22] Set("SIP/26-0a25a6d0",
    "pre_num=AMP:CAPI/ISDN1/") in new stack
    -- Executing [s@macro-dialout-trunk:23] Set("SIP/26-0a25a6d0",
    "the_num=OUTNUM") in new stack
    -- Executing [s@macro-dialout-trunk:24] Set("SIP/26-0a25a6d0",
    "post_num=") in new stack
    -- Executing [s@macro-dialout-trunk:25] GotoIf("SIP/26-0a25a6d0",
    "1?outnum:skipoutnum") in new stack
    -- Goto (macro-dialout-trunk,s,26)
    -- Executing [s@macro-dialout-trunk:26] Set("SIP/26-0a25a6d0",
    "the_num=7247") in new stack
    -- Executing [s@macro-dialout-trunk:27] Dial("SIP/26-0a25a6d0",
    "CAPI/ISDN1/7247|300|") in new stack
    -- Called ISDN1/7247
    -- CAPI/ISDN1#02/7247-2 is proceeding passing it to SIP/26-0a25a6d0
    -- CAPI/ISDN1#02/7247-2 is making progress passing it to SIP/26-0a25a6d0
    -- CAPI/ISDN1#02/7247-2 is ringing
    == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on
    'SIP/26-0a25a6d0' in macro 'dialout-trunk'
    == Spawn extension (macro-dialout-trunk, s, 27) exited non-zero on
    'SIP/26-0a25a6d0'
    -- Executing [h@macro-dialout-trunk:1] Macro("SIP/26-0a25a6d0",
    "hangupcall|") in new stack
    -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/26-0a25a6d0", "w")
    in new stack
    -- Executing [s@macro-hangupcall:2] NoCDR("SIP/26-0a25a6d0", "") in
    new stack
    -- Executing [s@macro-hangupcall:3] GotoIf("SIP/26-0a25a6d0",
    "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall:6] GotoIf("SIP/26-0a25a6d0",
    "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] GotoIf("SIP/26-0a25a6d0",
    "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s@macro-hangupcall:11] Hangup("SIP/26-0a25a6d0", "")
    in new stack
    == Spawn extension (macro-hangupcall, s, 11) exited non-zero on
    'SIP/26-0a25a6d0' in macro 'hangupcall'
    == Spawn extension (macro-hangupcall, s, 11) exited non-zero on
    'SIP/26-0a25a6d0'


    Leider hörte ich aber das Klingeln nicht, es kam aber auch kein Fehler zurück.
    Mehr konnte ich heute auf die schnelle nicht probieren.
    Der Ausschnitt war leider auch nur schnell kopiert und per Mail nach Hause geschickt.

    Ich werde nun auch im Forum noch ein wenig stöbern, vielleicht finde ich
    noch Hinweise.

    Gruß
    Hans
     
  15. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das sieht doch schonmal gut aus, dein Telefon wird angesprochen und klingelt auch...gibt es trotzdem noch probleme?
     
  16. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #16 seagater, 19 Nov. 2008
    Zuletzt bearbeitet: 19 Nov. 2008
    Ich hörte den Rufton nicht. ->Stand gestern Abend.

    Stand heute früh:
    Höre den Rufton noch immer nicht, aber die Gegenstelle klingelt.
     
  17. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Tut mir leid, aber ich habe keine Idee woran das liegen könnte...
     
  18. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Problem hat sich in Luft aufgelöst, auf einmal war ein Klingelton da.
    Wenn ich aber extern wähle, dann muss ich 0 und irgend eine Zahl nehmen,
    sonst gehts nicht.

    Bei der Wahlpräfix habe ich 0|. eingetragen
    und
    exten=> _X.,1,Dial(CAPI/contr1/${EXTEN}/b)

    in der extension_custom.conf eingetragen.

    Die Wahlpräfix steht für die Amtsholung, also TB soll extern wählen.
    Ich habe nun mit dem X und der 0 gespielt, was zur Folge hatte,
    dass die erste Nummer der Rufnummer verschluckt wurde, wenn ich
    nur eine 0 vor die Rufnummer stellte.

    Was mir aber viel mehr sorgen macht, ist die Tatsache, dass, wenn
    ich extern Anrufe ein belegt Zeichen bekomme.
     
  19. FlashDeluxe

    FlashDeluxe Neuer User

    Registriert seit:
    31 Okt. 2008
    Beiträge:
    93
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Poste doch mal deine config Dateien..
     
  20. seagater

    seagater Neuer User

    Registriert seit:
    2 Nov. 2008
    Beiträge:
    30
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ; CAPI config
    ;
    ;

    ; general section

    [general]
    nationalprefix=0 ; or for example "+49"
    internationalprefix=00 ; or for example "+"
    ;subscriberprefix=+4969 ; prefix including area code (some lines need this)
    rxgain=1.0 ;linear receive gain (1.0 = no change)
    txgain=1.0 ;linear transmit gain (1.0 = no change)
    language=de ;set default language
    ;ulaw=yes ;set this, if you live in u-law world instead of a-law

    ;jb..... ;with Asterisk 1.4 you can configure jitterbuffer,
    ;see Asterisk documentation for all jb* setting available.
    ;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.


    ; interface sections ...

    [ISDN1] ;this example interface gets name 'ISDN1' and may be any
    ;name not starting with 'g' or 'contr'.
    ;Use one interface section for each isdn port!
    ntmode=no ;if isdn card operates in nt mode, set this to yes
    isdnmode=DID ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
    ;when using NT-mode, 'DID' should be set in any case
    incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
    ;defaultcid=123 ;set a default caller id to that interface for dial-out,
    ;this caller id will be used when dial option 'd' is set.
    ;controller=0 ;ISDN4BSD default
    ;controller=7 ;ISDN4BSD USB default
    controller=1 ;capi controller number of this interface/port
    group=0 ;dialout group
    ;prefix=0 ;set a prefix to calling number on incoming calls
    softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
    relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
    faxdetect=off ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
    ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
    faxdetecttime=0 ;Only detect faxes during the first 'n' seconds of the call.
    ;(default '0' meaning for the whole duration of the call)
    accountcode= ;PBX accountcode to use in CDRs
    ;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
    context=capi-in ;context for incoming calls
    ;holdtype=hold ;when the PBX puts the call on hold, ISDN HOLD will be used. If
    ;set to 'local' (default value), no hold is done and the PBX may
    ;play MOH.
    ;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
    ; received on incoming call (no destination number yet)
    ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
    ; info like REDIRECTINGNUMBER may be lost, but this is necessary for
    ; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
    ;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression. Disable this before you start recording voicemail
    ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
    echocancel=yes ;Dialogic Diva (Capi) echo cancelation (yes=g165)
    ;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
    echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
    ;echotail=64 ;echo cancel tail setting (default=0 for maximum)
    ;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
    ;incorporate variable gain in the signal path.
    bridge=yes ;native bridging (CAPI line interconnect) if available
    callgroup=1 ;PBX call group
    ;pickupgroup=1 ;PBX pickup group (which call groups are we allowed to pickup)
    ;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
    language=de ;set language for this device (overwrites default language)
    ;disallow=all ;RTP codec selection (valid with Dialogic Diva only)
    ;allow=all ;RTP codec selection (valid with Dialogic Diva only)
    devices=2 ;number of concurrent calls (b-channels) on this controller
    ;(2 makes sense for single BRI, 30/23 for PRI/T1)
    ;jb..... ;with Asterisk 1.4 you can configure jitterbuffer,
    ;see Asterisk documentation for all jb* setting available.
    ;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
    ;qsig=1 ;enable use of Q.SIG extensions. ECMA Variant
    ;qsig_prnum=1234 ;enable inbound bridging - this should be an QSIG-network-wide unique number



    [ISDN2] ;this example interface gets name 'ISDN1' and may be any
    ;name not starting with 'g' or 'contr'.
    ;Use one interface section for each isdn port!
    ntmode=no ;if isdn card operates in nt mode, set this to yes
    isdnmode=DID ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
    ;when using NT-mode, 'DID' should be set in any case
    incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
    ;defaultcid=123 ;set a default caller id to that interface for dial-out,
    ;this caller id will be used when dial option 'd' is set.
    ;controller=0 ;ISDN4BSD default
    ;controller=7 ;ISDN4BSD USB default
    controller=2 ;capi controller number of this interface/port
    group=0 ;dialout group
    ;prefix=0 ;set a prefix to calling number on incoming calls
    softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
    relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
    faxdetect=off ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
    ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
    faxdetecttime=0 ;Only detect faxes during the first 'n' seconds of the call.
    ;(default '0' meaning for the whole duration of the call)
    accountcode= ;PBX accountcode to use in CDRs
    ;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
    context=capi-in ;context for incoming calls
    ;holdtype=hold ;when the PBX puts the call on hold, ISDN HOLD will be used. If
    ;set to 'local' (default value), no hold is done and the PBX may
    ;play MOH.
    ;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
    ; received on incoming call (no destination number yet)
    ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
    ; info like REDIRECTINGNUMBER may be lost, but this is necessary for
    ; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
    ;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression. Disable this before you start recording voicemail
    ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
    echocancel=yes ;Dialogic Diva (Capi) echo cancelation (yes=g165)
    ;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
    echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
    ;echotail=64 ;echo cancel tail setting (default=0 for maximum)
    ;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
    ;incorporate variable gain in the signal path.
    bridge=yes ;native bridging (CAPI line interconnect) if available
    ;callgroup=1 ;PBX call group
    ;pickupgroup=1 ;PBX pickup group (which call groups are we allowed to pickup)
    ;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
    language=de ;set language for this device (overwrites default language)
    ;disallow=all ;RTP codec selection (valid with Dialogic Diva only)
    ;allow=all ;RTP codec selection (valid with Dialogic Diva only)
    devices=2 ;number of concurrent calls (b-channels) on this controller
    ;(2 makes sense for single BRI, 30/23 for PRI/T1)
    ;jb..... ;with Asterisk 1.4 you can configure jitterbuffer,
    ;see Asterisk documentation for all jb* setting available.
    ;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
    ;qsig=1 ;enable use of Q.SIG extensions. ECMA Variant
    ;qsig_prnum=1234 ;enable inbound bridging - this should be an QSIG-network-wide unique number





    [ISDN3] ;this example interface gets name 'ISDN1' and may be any
    ;name not starting with 'g' or 'contr'.
    ;Use one interface section for each isdn port!
    ntmode=no ;if isdn card operates in nt mode, set this to yes
    isdnmode=DID ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
    ;when using NT-mode, 'DID' should be set in any case
    incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
    ;defaultcid=123 ;set a default caller id to that interface for dial-out,
    ;this caller id will be used when dial option 'd' is set.
    ;controller=0 ;ISDN4BSD default
    ;controller=7 ;ISDN4BSD USB default
    controller=3 ;capi controller number of this interface/port
    group=0 ;dialout group
    ;prefix=0 ;set a prefix to calling number on incoming calls
    softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
    relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
    faxdetect=off ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
    ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
    faxdetecttime=0 ;Only detect faxes during the first 'n' seconds of the call.
    ;(default '0' meaning for the whole duration of the call)
    accountcode= ;PBX accountcode to use in CDRs
    ;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
    context=capi-in ;context for incoming calls
    ;holdtype=hold ;when the PBX puts the call on hold, ISDN HOLD will be used. If
    ;set to 'local' (default value), no hold is done and the PBX may
    ;play MOH.
    ;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
    ; received on incoming call (no destination number yet)
    ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
    ; info like REDIRECTINGNUMBER may be lost, but this is necessary for
    ; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
    ;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression. Disable this before you start recording voicemail
    ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
    echocancel=yes ;Dialogic Diva (Capi) echo cancelation (yes=g165)
    ;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
    echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
    ;echotail=64 ;echo cancel tail setting (default=0 for maximum)
    ;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
    ;incorporate variable gain in the signal path.
    bridge=yes ;native bridging (CAPI line interconnect) if available
    ;callgroup=1 ;PBX call group
    ;pickupgroup=1 ;PBX pickup group (which call groups are we allowed to pickup)
    ;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
    language=de ;set language for this device (overwrites default language)
    ;disallow=all ;RTP codec selection (valid with Dialogic Diva only)
    ;allow=all ;RTP codec selection (valid with Dialogic Diva only)
    devices=2 ;number of concurrent calls (b-channels) on this controller
    ;(2 makes sense for single BRI, 30/23 for PRI/T1)
    ;jb..... ;with Asterisk 1.4 you can configure jitterbuffer,
    ;see Asterisk documentation for all jb* setting available.
    ;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
    ;qsig=1 ;enable use of Q.SIG extensions. ECMA Variant
    ;qsig_prnum=1234 ;enable inbound bridging - this should be an QSIG-network-wide unique number



    [ISDN4] ;this example interface gets name 'ISDN1' and may be any
    ;name not starting with 'g' or 'contr'.
    ;Use one interface section for each isdn port!
    ntmode=yes ;if isdn card operates in nt mode, set this to yes
    isdnmode=DID ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
    ;when using NT-mode, 'DID' should be set in any case
    incomingmsn=* ;allow incoming calls to this list of MSNs/DIDs, * = any
    ;defaultcid=123 ;set a default caller id to that interface for dial-out,
    ;this caller id will be used when dial option 'd' is set.
    ;controller=0 ;ISDN4BSD default
    ;controller=7 ;ISDN4BSD USB default
    controller=4 ;capi controller number of this interface/port
    group=1 ;dialout group
    ;prefix=0 ;set a prefix to calling number on incoming calls
    softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
    relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
    faxdetect=off ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
    ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
    faxdetecttime=0 ;Only detect faxes during the first 'n' seconds of the call.
    ;(default '0' meaning for the whole duration of the call)
    accountcode= ;PBX accountcode to use in CDRs
    ;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
    context=capi-in ;context for incoming calls
    ;holdtype=hold ;when the PBX puts the call on hold, ISDN HOLD will be used. If
    ;set to 'local' (default value), no hold is done and the PBX may
    ;play MOH.
    ;immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
    ; received on incoming call (no destination number yet)
    ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
    ; info like REDIRECTINGNUMBER may be lost, but this is necessary for
    ; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
    ;echosquelch=1 ;_VERY_PRIMITIVE_ echo suppression. Disable this before you start recording voicemail
    ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
    echocancel=yes ;Dialogic Diva (Capi) echo cancelation (yes=g165)
    ;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
    echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
    ;echotail=64 ;echo cancel tail setting (default=0 for maximum)
    ;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
    ;incorporate variable gain in the signal path.
    bridge=yes ;native bridging (CAPI line interconnect) if available
    ;callgroup=1 ;PBX call group
    ;pickupgroup=1 ;PBX pickup group (which call groups are we allowed to pickup)
    ;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
    language=de ;set language for this device (overwrites default language)
    ;disallow=all ;RTP codec selection (valid with Dialogic Diva only)
    ;allow=all ;RTP codec selection (valid with Dialogic Diva only)
    devices=2 ;number of concurrent calls (b-channels) on this controller
    ;(2 makes sense for single BRI, 30/23 for PRI/T1)
    ;jb..... ;with Asterisk 1.4 you can configure jitterbuffer,
    ;see Asterisk documentation for all jb* setting available.
    ;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.
    ;qsig=1 ;enable use of Q.SIG extensions. ECMA Variant
    ;qsig_prnum=1234 ;enable inbound bridging - this should be an QSIG-network-wide unique number



    extension_custom.conf
    ; This file contains example extensions_custom.conf entries.
    ; extensions_custom.conf should be used to include customizations
    ; to AMP's Asterisk dialplan.

    ; All custom context should contain the string 'custom' in it's name

    ; Extensions in AMP have access to the 'from-internal' context.
    ; The context 'from-internal-custom' is included in 'from-internal' by default

    #include extensions_hud.conf

    ;Eintrag am 18.11.08/Thurn

    [general]
    static=yes
    writeprotect=no

    [capi-out]
    exten=> Dial(CAPI/contr1/${EXTEN}/tr)
    exten=> Dial(CAPI/contr2/${EXTEN}/tr)
    exten=> Dial(CAPI/contr3/${EXTEN}/tr)

    [capi-in]
    exten => 23,1,Dial(SIP/23,tr)

    ;Eintrag Ende



    [from-internal-custom]

    ;1234,1,Playback(demo-congrats) ; extensions can dial 1234
    ;1234,2,Hangup()
    ;h,1,Hangup()
    ;include => custom-recordme ; extensions can also dial 5678

    ; custom-count2four,s,1 can be used as a custom target for
    ; a Digital Receptionist menu or a Call Group
    ;[custom-count2four]
    ;s,1,SayDigits(1234)
    ;s,2,Hangup

    ; custom-recordme,5678,1 can be used as a custom target for
    ; a Digital Receptionist menu or a Call Group
    ;[custom-recordme]
    ;exten => 5678,1,Wait(2)
    ;exten => 5678,2,Record(/tmp/asterisk-recording:gsm)
    ;exten => 5678,3,Wait(2)
    ;exten => 5678,4,Playback(/tmp/asterisk-recording)
    ;exten => 5678,5,Wait(2)
    ;exten => 5678,6,Hangup

    [custom-meetme3]
    exten => s,1,Answer
    exten => s,n,Wait(3)
    exten => s,n,CBMysql()
    exten => s,n,Hangup