Keine Busy Signalisierung Asterisk/Hylafax

smolty

Neuer User
Mitglied seit
13 Mrz 2007
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Hi,
ich habe einen Server mit einer Eicon Diva Server PRI E1-8 auf eine Asterisk 1.2.15 und ein Hylafax parallel an der Capi lauschen.

chan_capi ist Version 1.0.

Das Problem ist folgendes,
ruft man von extern auf einer Durchwahl an die im Dialplan der Asterisk existiert, wo der Teilnehmer allerdings telefoniert wird kein Busy signalisiert, sondern in der CLI kommt die Meldung "another application got that call" obwohl der Hylafax sich für die Durchwahl nicht interessiert.

Der Hylafax lauscht an folgenden Durchwahlen.
"IncomingDDIs: 2700-2800"

Das Durchwahlverfahren ist DID.

Mit Google habe ich dazu leider nichts gefunden.

Irgendwelche Ideen?

Gruß
smolty
 
Bist du sicher, dass Hylafax hier nichts unternimmt?
Es koennte sein, dass Hylafax (also hier wohl capi4hylafax extension) zwar den Anruf nicht annimmt, aber zumindest ein 'ALERT' sendet, bzw. kein 'ignore'.

Um hier sicher zu gehen, solltest ein CAPI log erzeugen. Das kannst Du einfach mit dem Trace tool beim Eicon Treiber machen.

Armin
 
Danke für deine Antwort,

ich habe es jetzt folgendermaßen gelöst:

PHP:
;choose way of busy-signalling, with or without voicemail active is the same, just busy
exten => s-BUSY,1,GotoIf($["${CHANNEL:0:3}" = "SIP"]?s-${DIALSTATUS}-SIP|1)
exten => s-BUSY,2,GotoIf($["${CHANNEL:0:4}" = "CAPI"]?s-${DIALSTATUS}-CAPI|1)

;SIP: just signal busy for 5 seconds and hangup
exten => s-BUSY-SIP,1,Busy(5)
exten => s-BUSY-SIP,2,Hangup

;CAPI: set PRI_CAUSE (hangup reason) and hangup
exten => s-BUSY-CAPI,1,Set(PRI_CAUSE=17)
exten => s-BUSY-CAPI,2,Hangup

So funktioniert es zumindest :)
 
Ah na toll, in meinem Testsetup hat das super funktioniert,
leider klappt es in der Produktivumgebung nicht :(

Code:
  == ISDN1#28: Incoming call '001766217XXX' -> '305129'
    -- ISDN1#28: Updated channel name: CAPI/ISDN1/305129-dc8
    -- Executing Set("CAPI/ISDN1/305129-dc8", "LANGUAGE()=de") in new stack
    -- Executing NoOp("CAPI/ISDN1/305129-dc8", "") in new stack
    -- Executing Set("CAPI/ISDN1/305129-dc8", "CALLERID(number)=001766217XXXX") in new stack
    -- Executing Goto("CAPI/ISDN1/305129-dc8", "default|129|1") in new stack
    -- Goto (default,129,1)
    -- Executing Macro("CAPI/ISDN1/305129-dc8", "stdialpritest|%telephoneNumer_1|SIP/jsc|1")
    -- Executing SetLanguage("CAPI/ISDN1/305129-dc8", "de")
    -- Executing Dial("CAPI/ISDN1/305129-dc8", "SIP/jsc|30|wWto")
    -- Called jsc
    -- Got SIP response 486 "Busy Here" back from 10.1.67.1
    -- SIP/jsc-083fa878 is busy
  == Everyone is busy/congested at this time (1:1/0/0)
    -- Executing GotoIf("CAPI/ISDN1/305129-dc8", "1?4:5")
    -- Goto (macro-stdialpritest,s,4)
    -- Executing Goto("CAPI/ISDN1/305129-dc8", "s-BUSY|1")
    -- Goto (macro-stdialpritest,s-BUSY,1)
    -- Executing GotoIf("CAPI/ISDN1/305129-dc8", "0?s-BUSY-SIP|1")
    -- Executing GotoIf("CAPI/ISDN1/305129-dc8", "1?s-BUSY-CAPI|1")
    -- Goto (macro-stdialpritest,s-BUSY-CAPI,1)
    -- Executing Set("CAPI/ISDN1/305129-dc8", "PRI_CAUSE=17")
    -- Executing Hangup("CAPI/ISDN1/305129-dc8", "Hangup")
  == Spawn extension (macro-stdialpritest, s-BUSY-CAPI, 2) exited non-zero on 'CAPI/ISDN1/305129-dc8' in macro 'stdialpritest'
  == Spawn extension (macro-stdialpritest, s-BUSY-CAPI, 2) exited non-zero on 'CAPI/ISDN1/305129-dc8'
    -- Executing NoOp("CAPI/ISDN1/305129-dc8", "Hangup Stdial")
  == ISDN1#28: CAPI Hangingup for PLCI=0x601 in state 7
       > ISDN1#28: CAPI INFO 0x3304: Another application got that call

Ich verstehe nicht wie die CAPI (Asterisk?) auf die Idee kommt, dass sich noch eine andere Applikation für den Anruf interessieren würde :noidea:

Im capi4hylafax Log find ich dazu auch nichts.

Vor allem weil die Asterisk doch (angeblich) auflegt?!
 
/etc/asterisk/capi.conf:
Code:
[general]
nationalprefix=0
internationalprefix=00
;rxgain=0.8
;txgain=0.8

;zum fritzdatatest mal runtergesetzt
rxgain=1.0
txgain=1.0

language=de      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

; interface sections ...

[ISDN1]
isdnmode=DID
;isdnmode=MSN

incomingmsn=*

controller=1
group=1
prefix=0
softdtmf=on
relaxdtmf=on
faxdetect=on
;immediate=yes

context=capi-in
echosquelch=1
;echocancel=yes
callgroup=1
pickupgroup=1
language=de
;disallow=all    ;RTP codec selection (valid with Eicon DIVA Server only)
;allow=all       ;RTP codec selection (valid with Eicon DIVA Server only)
devices=30       ;number of concurrent calls (b-channels) on this controller
                 ;(2 makes sense for single BRI, 30/23 for PRI/T1)

relevanter Teil aus der /etc/hylafx/config.faxCAPI:
Code:
# ----------- incoming params -----------
    {
        # Controller, f<FC>r den diese Subsection gilt.
        #
        # Controller for which this subsection is valid.
        #
        # default   1
        #
        Controller:             1


        # Wenn "AcceptSpeech" auf 1 steht, wird auch die Dienstekennung
        # "Sprache" angenommen.
        #
        # If "AcceptSpeech" is set to 1, the service indicator "Voice" also
        # will be accepted.
        #
        # default   0
        #
        AcceptSpeech:           1


        # Sofern man DDI nutzen will, sollte man "UseDDI" auf 1 stellen.
        #
        # If DDI is to be used, "UseDDI" should be set to a value of 1.
        #
        # default   0
        #
        UseDDI:                 1


        # Die DDI-Stammnummer wird bei "DDIOffset" eingetragen.
        # Der Standardwert f<FC>hrt zu keinem korrekten Ergebnis und
        # sollte, sofern "UseDDI" auf 1 gestellt wurde, immer
        # ver<E4>ndert werden.
        #
        # "DDIOffset" indicates the DDI offset number which precedes
        # extension number. Because the default value can't guarantee
        # a correct result, this value should be modified whenever
        # "UseDDI" is set to 1.
        #
        # default   ""
        #
        DDIOffset:              305


        # "DDILength" gibt die Anzahl der Durchwahlziffern an. (Diese Ziffern
        # werden lediglich als Teil der Empf<E4>ngernummer mitgeteilt.) Der
        # Standardwert sollte bei Verwendung von DDI ebenfalls angepasst
        # werden.
        #
        # "DDILength" indicates the number of digits in the extension. (These
        # numbers are only used as a component of the recipient's number.) The
        # default value should be adapted whenever DDI is used.
        #
        # default   0
        #
        #DDILength:              3


        # Bei "IncomingDDIs" k<F6>nnen in einer durch Komma getrennten Liste alle
        # Durchwahlziffern (DDIs) angegeben werden, f<FC>r die Rufe angenommen
        # werden sollen. Eine Bereichsangabe ist auch m<F6>glich (z.B. 100-300),
        # wobei aber keine offenen Bereiche (z.B. -100) erlaubt sind.
        # Sofern IncommingDDIs gesetzt ist, wird DDILength ignoriert.
        #
        # In "IncomingDDIs", all extension numbers (DDIs) for which calls are
        # to be accepted may be listed, separated by commas. It is also
        # possible to specify a range (e.g. 100-300); here no open ranges are
        # permitted (e.g. -100). When the "IncomingDDIs" switch is set, the
        # parameters for DDILength will be ignored.
        #
        # default   ""
        #
        IncomingDDIs:   2700-2800


        # Bei "IncomingMSNs" k<F6>nnen in einer durch Komma getrennten Liste alle
        # MSNs angegeben werden, f<FC>r die Rufe angenommen werden sollen. Ist
        # die Liste leer, werden alle Rufe auf ISDN FAX G3, 3,1kHz Audio und
        # eventuell "Sprache" angenommen.
        # Wenn "UseDDI" auf 1 gestellt ist, wird "IncomingMSNs" ignoriert.
        #
        # In "IncomingMSNs", all MSNs for which calls are to be accepted may
        # be listed, separated by commas. When the list is empty, all calls
        # are accepted for ISDN FAX G3, 3,1kHz audio and perhaps "Voice".
        # When "UseDDI" is set to 1, "IncomingMSNs" is ignored.
        #
        # default   ""
        #
        #IncomingMSNs: 305270,305271,305272


        # Wenn "AcceptGlobalCall" auf 1 steht, werden auch Calls ohne
        # Zielrufnummer (ohne MSN) angenommen.
        # Notwendig hinter einigen Telefonanlagen, die keine Zielrufnummer
        # senden.
        #
        # If "AcceptGlobalCall" is set to 1, calls without Called Party
        # Number also will be accepted.
        # Needed on internal ports of some PBX.
        #
        # default   1
        #
        AcceptGlobalCall:   0
    }
 
Kostenlos!

Statistik des Forums

Themen
248,870
Beiträge
2,303,432
Mitglieder
378,531
Neuestes Mitglied
margaux