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

Interne Gespräche funktionieren nicht.

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von Cannabisman, 6 Dez. 2006.

  1. Cannabisman

    Cannabisman Neuer User

    Registriert seit:
    5 Apr. 2005
    Beiträge:
    12
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 Cannabisman, 6 Dez. 2006
    Zuletzt bearbeitet: 8 Dez. 2006
    Hallo,

    ich nutze Asterisk auf dem eisfair schon seit fast zwei Jahren. Bis heute hab ich es nicht hinbekommen, dass interne Gespräche funktionieren.

    Meine config sieht wie folgt aus:
    1. Telefon = "Siemens Gigaset 4000 Comfort - ISDN" am 2. Kanal des NTBA (MSN 662)
    2. Telefon = "T-Easy P520 - ISDN" am 1. Kanal des NTBA (MSN 772)
    3. Telefon = "Siemens Gigaset A140 - Analog" über Adapter und Verteiler zusammen mit Tel. 2. am 1. Kanal des NTBA (MSN 772)

    extensions.conf
    Code:
    [general]
    
    static=yes
    writeprotect=no
    
    [globals]
    localdialtimeout=120
    
    [default]
    include => user
    include => test
    include => incoming
    include => outgoing
    include => error
    
    [test]
    exten => #100,1,Set(LANGUAGE()=de)
    exten => #100,2,Answer()
    exten => #100,3,MP3Player(/var/lib/asterisk/mohmp3/fpm-calm-river.mp3)
    exten => #100,4,Congestion()
    exten => #100,5,Wait(10)
    exten => #100,6,Hangup()
    
    exten => #101,1,Set(LANGUAGE()=de)
    exten => #101,2,Answer()
    exten => #101,3,Milliwatt()
    exten => #101,4,Congestion()
    exten => #101,5,Wait(10)
    exten => #101,6,Hangup()
    
    exten => #102,1,Set(LANGUAGE()=de)
    exten => #102,2,Answer()
    exten => #102,3,SayDigits(${CALLERIDNUM})
    exten => #102,4,Congestion()
    exten => #102,5,Wait(10)
    exten => #102,6,Hangup()
    
    exten => #103,1,Set(LANGUAGE()=de)
    exten => #103,2,Answer()
    exten => #103,3,Playback(demo-echotest)
    exten => #103,4,Echo()
    exten => #103,5,Playback(demo-echodone)
    exten => #103,6,Congestion()
    exten => #103,7,Wait(10)
    exten => #103,8,Hangup()
    
    exten => #104,1,Set(LANGUAGE()=de)
    exten => #104,2,Answer()
    exten => #104,3,AGI(date.sh)
    exten => #104,4,SendText(${ADATE})
    exten => #104,5,sayPhonetic(${ADATE:5})
    exten => #104,6,Congestion()
    exten => #104,7,Wait(10)
    exten => #104,8,Hangup()
    
    [outgoing]
    include => 662
    include => 772
    
    include => incoming
    
    [662]
    ;;; Phone 662 ;;;
    ; Outgoing calls over SIP
    exten => _x.,1,Set(LANGUAGE()=de)
    exten => _x./662,2,Ringing()
    exten => _x./662,3,Set(CALLERID(number)=xxxsipidxxx)
    exten => _x./xxxsipidxxx,4,Set(CALLERID(name)=TELEFON)
    exten => _x./xxxsipidxxx,5,GotoIf($["${EXTEN:0:1}" = "0"]?7)
    exten => _x./xxxsipidxxx,6,Set(areaCode=030)
    exten => _x./xxxsipidxxx,7,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
    exten => _x./xxxsipidxxx,8,Dial(SIP/${areaCode}${EXTEN}@qsc,120,TW)
    exten => _x./xxxsipidxxx,9,Goto(dialStates,${DIALSTATUS},1)
    
    
    ; Outgoing calls over CAPI
    exten => _000.,1,Set(LANGUAGE()=de)
    exten => _000./662,2,Set(CALLERID(number)=xxsipnummerxx)
    exten => _000./xxsipnummerxx,3,Set(CALLERID(name)=)
    exten => _000./xxsipnummerxx,4,Dial(CAPI/contr1/${EXTEN:3}/b,120,TW)
    exten => _000./xxsipnummerxx,5,Goto(dialStates,${DIALSTATUS},1)
    
    
    
    [772]
    ;;; Phone 772 ;;;
    ; Outgoing calls over SIP
    exten => _x.,1,Set(LANGUAGE()=de)
    exten => _x./772,2,Ringing()
    exten => _x./772,3,Set(CALLERID(number)=xxxsipidxxx)
    exten => _x./xxxsipidxxx,4,Set(CALLERID(name)=BART)
    exten => _x./xxxsipidxxx,5,GotoIf($["${EXTEN:0:1}" = "0"]?7)
    exten => _x./xxxsipidxxx,6,Set(areaCode=030)
    exten => _x./xxxsipidxxx,7,Dial(SIP/${areaCode}${EXTEN}@sipgate,120,TW)
    exten => _x./xxxsipidxxx,8,Dial(SIP/${areaCode}${EXTEN}@qsc,120,TW)
    exten => _x./xxxsipidxxx,9,Goto(dialStates,${DIALSTATUS},1)
    
    
    ; Outgoing calls over CAPI
    exten => _000.,1,Set(LANGUAGE()=de)
    exten => _000./772,2,Set(CALLERID(number)=xxsipnummerxx)
    exten => _000./xxsipnummerxx,3,Set(CALLERID(name)=)
    exten => _000./xxsipnummerxx,4,Dial(CAPI/contr1/${EXTEN:3}/b,120,TW)
    exten => _000./xxsipnummerxx,5,Goto(dialStates,${DIALSTATUS},1)
    
    
    
    [incoming]
    include => default
    
    exten => xxxsipidxxx,1,Set(LANGUAGE()=de)
    exten => xxxsipidxxx,2,Ringing()
    exten => xxxsipidxxx,3,AGI(getName.php,local=yes,path=/public/phonelist.txt)
    exten => xxxsipidxxx,4,Set(CALLERID(number)=${CID})
    exten => xxxsipidxxx,5,Set(CALLERID(name)=${NAME})
    exten => xxxsipidxxx,6,System(/data/dump/asterisk/vdrr "${CALLERID}"&)
    exten => xxxsipidxxx,7,Dial(Zap/g1/662&Zap/g1/772,${localdialtimeout},t)
    exten => xxxsipidxxx,8,Congestion()
    exten => xxxsipidxxx,9,Wait(10)
    exten => xxxsipidxxx,10,Hangup()
    
    exten => xxsipfallbackIDxx,1,Set(LANGUAGE()=de)
    exten => xxsipfallbackIDxx,2,Ringing()
    exten => xxsipfallbackIDxx,3,AGI(getName.php,local=yes,path=/public/phonelist.txt)
    exten => xxsipfallbackIDxx,4,Set(CALLERID(number)=${CID})
    exten => xxsipfallbackIDxx,5,Set(CALLERID(name)=${NAME})
    exten => xxsipfallbackIDxx,6,Dial(Zap/g1/662&Zap/g1/772,${localdialtimeout},t)
    exten => xxsipfallbackIDxx,7,Congestion()
    exten => xxsipfallbackIDxx,8,Wait(10)
    exten => xxsipfallbackIDxx,9,Hangup()
    
    ; Incoming (internal) calls for number 662. Type of phone: hfcs
    exten => *662,1,Set(LANGUAGE()=de)
    exten => *662/772,2,Set(CALLERID(name)=BART)
    exten => *662/772,3,Set(CALLERID(number)=*772)
    exten => *662,2,NoOp()
    exten => *662,3,NoOp()
    exten => *662,4,Dial(Zap/g1/662,120)
    exten => *662,5,Goto(incoming,*662-${DIALSTATUS},1)
    exten => *662,6,Goto(dialStates,${DIALSTATUS},1)
    
    ; Incoming (internal) calls for number 772. Type of phone: hfcs
    exten => *772,1,Set(LANGUAGE()=de)
    exten => *772/662,2,Set(CALLERID(name)=TELEFON)
    exten => *772/662,3,Set(CALLERID(number)=*662)
    exten => *772,2,NoOp()
    exten => *772,3,NoOp()
    exten => *772,4,Dial(Zap/g1/772,120)
    exten => *772,5,Goto(incoming,*772-${DIALSTATUS},1)
    exten => *772,6,Goto(dialStates,${DIALSTATUS},1)
    
    
    [dialStates]
    exten => NOANSWER,1,Set(LANGUAGE()=de)
    exten => NOANSWER,2,Playback(vm-nobodyavail)
    exten => NOANSWER,3,Congestion()
    exten => NOANSWER,4,Wait(10)
    exten => NOANSWER,5,Hangup()
    
    exten => BUSY,1,Set(LANGUAGE()=de)
    exten => BUSY,2,Busy()
    exten => BUSY,3,Congestion()
    exten => BUSY,4,Wait(10)
    exten => BUSY,5,Hangup()
    
    exten => CHANUNAVAIL,1,Set(LANGUAGE()=de)
    exten => CHANUNAVAIL,2,Congestion()
    exten => CHANUNAVAIL,3,Congestion()
    exten => CHANUNAVAIL,4,Wait(10)
    exten => CHANUNAVAIL,5,Hangup()
    
    exten => CONGESTION,1,Set(LANGUAGE()=de)
    exten => CONGESTION,2,Congestion()
    exten => CONGESTION,3,Congestion()
    exten => CONGESTION,4,Wait(10)
    exten => CONGESTION,5,Hangup()
    
    
    [error]
    exten => h,1,Hangup
    exten => _[*#X].,1,Set(LANGUAGE()=de)
    exten => _[*#X].,2,Playback(pbx-invalid)
    exten => _[*#X].,3,Congestion()
    exten => _[*#X].,4,Wait(10)
    exten => _[*#X].,5,Hangup()
    
    [user]
    xxxsipidxxx = sipid des primären sip accounts
    xxxsipnummerxxx = die telefonnummer des primären sip accounts die als Outgoing_MSN bei den beiden Telefonen definiert ist.
    xxsipfallbackIDxx = sipid des zweiten sip accounts fürs fallback, falls sip1 nicht geht
    An der extensions.conf kann ich auch so nicht wirklich was ändern, da die config auf dem eisfair in einer separaten Datei für das ganze Asterisk Paket vorgenommen wird.

    Was mich auch noch stört, ist dass Telefon 2 und 3 beide die gleiche MSN haben müssen und somit als ein Telefon in der config definiert sind. Sonst klingelt das 2te T-Easy nicht, wenn es eine eigene MSN bekommt und es kommt folgender Fehler zustande:
    Code:
    ...
    Requested transfer capability: 0x00 - SPEECH
        -- Called g1/662
        -- Requested transfer capability: 0x00 - SPEECH
        -- Called g1/772
    Dec  6 08:45:16 NOTICE[8687]: app_dial.c:1059 dial_exec_full: Unable to create channel of type 'Zap' (cause 34 - Circuit/channel congestion)
        -- Zap/2-1 is ringing
        -- Zap/1-1 is ringing
      == Primary D-Channel on span 1 up for TEI 65
      == Primary D-Channel on span 1 up for TEI 66
        -- Zap/1-1 is ringing
        -- Hungup 'Zap/2-1'
        -- Hungup 'Zap/1-1'
    ...
    Hier sollte noch ein Telefon mit der MSN 552 (das T-Easy) auftauchen, aber stattdessen kommt der obige Fehler.

    Zu den Internen gesprächen. Wenn ich jetzt von Telefon 1. das ja alleine am 2. Kanal hängt versuche das zweite und das dritte (ist ja die gleiche MSN) anzurufen, kommt folgende Fehlermeldung:
    Code:
        -- Accepting overlap voice call from '662' to '772' on channel 0/2, span 1
        -- Starting simple switch on 'Zap/2-1'
        -- Executing Set("Zap/2-1", "LANGUAGE()=de") in new stack
        -- Executing Ringing("Zap/2-1", "") in new stack
        -- Executing Set("Zap/2-1", "CALLERID(number)=xxxsipidxxx") in new stack
        -- Executing Set("Zap/2-1", "CALLERID(name)=TELEFON") in new stack
        -- Executing GotoIf("Zap/2-1", "0?7") in new stack
        -- Executing Set("Zap/2-1", "areaCode=030") in new stack
        -- Executing Dial("Zap/2-1", "SIP/030772@sipgate|120|TW") in new stack
        -- Called 030772@sipgate
        -- SIP/sipgate-70eb is ringing
        -- SIP/sipgate-70eb is making progress passing it to Zap/2-1
        -- Got SIP response 500 "Server internal failure" back from 217.10.79.9
        -- SIP/sipgate-70eb is circuit-busy
      == Everyone is busy/congested at this time (1:0/1/0)
        -- Executing Dial("Zap/2-1", "SIP/030772@qsc|120|TW") in new stack
        -- Called 030772@qsc
        -- Got SIP response 484 "Address Incomplete" back from 213.148.136.2
      == No one is available to answer at this time (1:0/0/0)
        -- Executing Goto("Zap/2-1", "dialStates|NOANSWER|1") in new stack
        -- Goto (dialStates,NOANSWER,1)
        -- Executing Set("Zap/2-1", "LANGUAGE()=de") in new stack
        -- Executing Playback("Zap/2-1", "vm-nobodyavail") in new stack
        -- Playing 'vm-nobodyavail' (language 'de')
        -- Executing Congestion("Zap/2-1", "") in new stack
        -- Channel 0/2, span 1 got hangup request
      == Spawn extension (dialStates, NOANSWER, 3) exited non-zero on 'Zap/2-1'
        -- Hungup 'Zap/2-1'
    Irgendwie versucht er hier über sip rauszutelefonieren.

    Wenn ich jetzt vom zweiten oder dritten Telefon versuche das erste anzurufen kommt folgendes:
    Code:
        -- Accepting overlap voice call from '772' to '<unspecified>' on channel 0/2, span 1
        -- Starting simple switch on 'Zap/2-1'
        -- Going to extension s|1 because of empty extension received on overlap call
    Dec  6 09:49:51 ERROR[10211]: chan_zap.c:2774 zt_hangup: What is wrong with you? You cannot use cause 1 number when in state 1!
        -- Hungup 'Zap/2-1'
    Es sieht so aus als ob ich gar keine nummer gewählt hätte. Natürlich habe ich in diesem fall *662 gewählt um das erste Tel intern anzurufen.


    Kann mir jemand dieses seltsame verhalten des asterisk erklären? Es funktioniert sonst alles - ich kann raustelefonieren und bin auch immer erreichbar. Alle drei Telefone funktionieren soweit, nur die internen Gespräche gehen nicht. Das mit dem dritten Telefon, das sich die MSN mit seinem Nachbar teilen muss stört mich auch ein wenig. Ist das normal so?


    Hier ist die config des eisfair asterisk Pakets zum nachvollziehen der extensions.conf http://www.buppern.de/asterisk.conf


    Gruß

    canna
     
  2. Cannabisman

    Cannabisman Neuer User

    Registriert seit:
    5 Apr. 2005
    Beiträge:
    12
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mit den Internen Gesprächen hat sich das erledigt. Nach langem Studieren von Dokus und Handbüchern ist mir aufgefallen, dass bei interner wahl das * nicht mitgenommen wurde. Das lag an den Einstellungen der Telefone. Mit den beiden ISDN Telefonen klappt das nun und es wird *772 und nicht nur 772 gewählt, was dazu führte, dass asterisk über sip rauswählen wollte. Mit dem Analogen Gigaset A140 geht das überhaupt nicht. Wenn ich da zb. *662 wähle, kommt am asterisk nix an (<unspecified>). Das ist aber jetzt nicht weiter schlimm. Wäre aber trotzdem nicht schlecht, wenn jemand eine Lösung für dieses Problem parat hätte.


    Wie ist das jetzt eigentlich mit den HFCS-Ports und den bei Asterisk definierten Telefonen. Wenn ich jetzt nur ein HFCS-Karte habe, kann ich dann auch nur 2 Telefone definieren und damit zwei interene MSNs vergeben, oder geht da mehr?
    Wie schon oben beschrieben kommt sobald ich ein drittes telefon definiert habe folgender fehler zustande wenn jemand von aussen anruft:
    Code:
    app_dial.c:1059 dial_exec_full: Unable to create channel of type 'Zap' (cause 34 - Circuit/channel congestion)
    Wie ist das nun mit der Anzahl der Telefone und lässt sich von einem Analogen Teil ein internes Gespräch führen?

    Bin für jeden Tipp dankbar!


    Gruß

    canna
     
  3. TomS

    TomS Neuer User

    Registriert seit:
    13 Nov. 2004
    Beiträge:
    199
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hi Canna,

    in der Konfig des Gigaset kann man normalerweise einstellen, dass auch Nummern mit "*" und "#" rausgeschickt werden (werden per default vom Gigaset abgefangen). Wenn Du das aktivierst, kommen auch diese Nummern beim Asterisk an.

    Ciao
    Tom
     
  4. Cannabisman

    Cannabisman Neuer User

    Registriert seit:
    5 Apr. 2005
    Beiträge:
    12
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Bei dem Gigaset 4110 geht das ja auch, aber bei dem Gigaset A140 (analog) kann ich so eine Option im Menü nicht finden. Das wird mit dem Telefon dann wohl nicht funktionieren.

    Wie ich mehr als zwei Telefone definieren kann, habe ich jetzt rausgefunden. Das Problem war, dass man nur auf zwei MSNs gleichzeitig das Klingeln signalisieren kann, also hab ich jedem Telefon die gleiche MSN fürs Klingeln gegeben und eine zweite (für jedes Tel. einen andere) für die internen Gespräche.

    Jetzt funktioniert alles, so wie ich es mir vorgestellt habe. Nur das mit dem analogen Gigastet A140 stört mich ein wenig. Wäre nicht schlecht gewesen, wenn man auch von diesem Tel. interne gespräche führen und nicht nur annehmen könnte.


    Gruß

    canna