Asterisk und Anrufbeantworter von Telefonanbieter nutzen

heisse_fee

Neuer User
Mitglied seit
30 Sep 2006
Beiträge
50
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ja nun erfolgreich Asterisk installiert bekommen. Nun frage ich mich, ob es möglich ist, dass ich trotzdem meinen Anrufbeantworter vom Telefonanbierter nutzen kann. Dieser erkennt auch automatisch falls ein Fax eintreffen sollte. Eben scheint das nicht zu funktionieren.

Hat jemand vielleicht einen Tip für mich?

Danke und Gruß
 
Asterisk kann eigentlich parallel zur FBF Telefonie laufen und wer zuerst kommt, malt zuerst :) - d.h. es müsste eigentlich ohne Probleme funktionieren.

Gruß
dynamic

EDIT:
... bzw. was genau meinst Du mit "Anrufbeantworter vom Telefonieanbieter" ?
 
Ich bin bei einem lokalem Telefonanbieter.
Dieser bietet mir einen Anrufbeantworter, der automatisch angesprungen ist, wenn ich den Anruf nicht entgegengenommen habe. Es ist also nicht der, den ich in der FBF aktivieren kann.

Nun springt der Anrufbeantworter nicht mehr an. Es liegt wohl daran, dass Asterisk ja das Gespräch entgegen nimmt, oder? Somit denkt mein Telefonanbieter das Gespräch wird geführt, oder?
 
Die Leitung wird z.B. bei ISDN erst übergeben, wenn das Gespräch an der Gegenstelle angenommen wurde.

Handelt es sich bei Deinem Telefonieanbieter um einen SIP-Provider oder um eine reguläre ISDN-Leitung ?

Bei SIP könnte ich mir vorstellen, dass es sich etwas anders verhält, aber dort könnte man ja ggf. zwei "Endgeräte" anmelden: Anrufbewantworter + Telefon und wer zuerst "abnimt" erhält das Gespräch.
 
Hallo,

es handelt sich um eine normale ISDN-Leitung.

Gruß
 
eigentlich müsste es doch bloß dein Asterisk unterlassen, das Gespräch anzunehmen, oder? Wieso tut es das denn, hast du da eine entsprechende Konfiguration?
 
@heisse_fee
Eigentlich kann das nur an Deiner Konfiguration liegen ... wie gesagt, der Asterisk nimmt das Gespräch erst nach "Abnahme des Hörers" an - vorher nicht.

Gruß
dynamic
 
Hast Du denn evt. mal ein CLI-Log von so einem Fall ?

Du hast ferner noch ziemlich alles aus der Default-Konfiguration drin stehen.
Ich würde ggf. mal aufräumen und Deine Config auf das was Du tatsächlich nutzt reduzieren.

Das macht Die Fehlersuche häufig einfacher!

Gruß
dynamic
 
Mmmhh. Irgendwie komisch. Jetzt habe ich mal meine Config aufgeräumt und angepasst. Nun geht der Anrufbeantworter der Fritzbox ran. Auch schonmal nicht schlecht. Hier mal meine Config:

Code:
[globals]
; gehende Nummer in [festnetz_out]
CAPI_CALLERID=1234567


; --------------------------------------------------------------------
; für rausgehende Rufe
;
; Es hat sich als gute Praxis erwiesen, die Inhalte der Datei
; extensions.conf modular aufzubauen. Diese Praxis wollen
; wir auch hier anwenden
;

[lokal]

; Erreichbarkeit der Nebenstellen 
; untereinander herstellen

; Erreichbarkeit der Telefone am internen S0 der fritzbox 7050
; (wähle nach S0 intern ohne führende Ziffer 5: 5123 für Telefon mit msn=123)
;exten => _5.,1,Dial,CAPI/ISDN3/${EXTEN:1}|55|Tt/b
exten => _0X.,1,SetCallerID,${CAPI_CALLERID}
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

; remote asterisk
; (wähle nach remote asterisk ohne führende Ziffer 6: 680 echotest remote)
exten => XXXXXXX,1,Dial,SIP/771|30|r

; SIP
exten => _77X,1,Dial,SIP/${EXTEN}|55|Ttr


[festnetz_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,${CAPI_CALLERID}
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

[sip_out]
;exten => _99.,1,Dial,SIP/${EXTEN:2}@sip1_out|45|r
exten => _X.,1,Set(CALLERID(num)=6945318)
exten => _X.,2,Dial(SIP/${EXTEN}@sipgate-out,30,trg)
exten => _X.,3,Hangup

; --------------------------------------------------------------------
; für reinkommende Rufe
;
; hier kommt der default-Context, in dem alle Geraete in der
; Grundkonfiguration erstmal laufen.
; Alle Geraete koennen sich gegenseitig anrufen

[default]
include => lokal

[sip771]
;exten => XXXXXX,1,Dial,SIP/771|30|r
include => lokal
;include => festnetz_out
include => sip_out

[asterisk2_in]
include => lokal

; ISDN S0 extern
[capi_in1]
; solange in capi.conf nur auf einer msn Nummer Anrufe angenommen werden
; reicht es, unabhängig von der msn immer auf die
; gewünschten Nebenstellen weiterzuverbinden

; callback?
; (compare number and channel of caller with number and channel in CB_IN_CHANNEL)
exten => _X.,1,noop,callerid_num=${CALLERID(num)}, channel=${CHANNEL}, callback_channel=${CB_IN_CHANNEL}
exten => _X.,n,gotoif,$["${CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}" != "${CB_IN_CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}"]?80
exten => _X.,n,gotoif,$["${CALLERID(num)}" != "${CB_IN_CHANNEL:-${LEN(${CALLERID(num)})}}"]?80
exten => _X.,n,goto,callback-wait|s|1

; Bei SCCP SetCalledParty Funktion nutzen um Name und Nummer der jeweiligen angerufenen Nebenstelle(n)
; fuer chan_sccp zu setzen
;exten => _701.,1,SetCalledParty("Home Office" <1234567>)>
;exten => _701.,2,Dial,SIP/771&IAX2/81&SCCP/701&CAPI/ISDN1/31|30|r
; mit sccp:
exten => _X.,80,Dial,SIP/771&IAX2/81&SCCP/701&CAPI/ISDN1/31|30|r

[sip_in]
exten => sip1,1,noop,${CALLERID(all)}
exten => sip1,n,Dial,SIP/771|30|r

Und das Ergebnis des Logs. Hier erscheint sogar, dass ISDN1 busy ist. Zu dem Zeitpunkt wird wohl der Anrufbeantworter meines Telefonanbieters rangehen. Aber leider tutet es im Telefon weiter.

Code:
    -- Executing [811003@capi_in1:1] NoOp("CAPI/ISDN1#02/811003-6b", "callerid_num=0171547XXX1, channel=CAPI/ISDN1#02/811003-6b, callback_channel=SIP/772") in new stack
    -- Executing [811003@capi_in1:2] GotoIf("CAPI/ISDN1#02/811003-6b", "1?80") in new stack
    -- Goto (capi_in1,811003,80)
    -- Executing [811003@capi_in1:80] Dial("CAPI/ISDN1#02/811003-6b", "SIP/771&IAX2/81&SCCP/701&CAPI/ISDN1/31|30|r") in new stack
    -- Called 771
[Apr  6 19:10:25] WARNING[2511]: app_dial.c:1191 dial_exec_full: Unable to create channel of type 'IAX2' (cause 3 - No route to destination)
[Apr  6 19:10:25] WARNING[2511]: channel.c:3278 ast_request: No channel type registered for 'SCCP'
[Apr  6 19:10:25] WARNING[2511]: app_dial.c:1191 dial_exec_full: Unable to create channel of type 'SCCP' (cause 66 - Channel not implemented)
    -- Called ISDN1/31

    -- SIP/771-005fb1e0 is ringing

    -- CAPI/ISDN1#01/31-6c is busy

    -- Nobody picked up in 30000 ms
  == Auto fallthrough, channel 'CAPI/ISDN1#02/811003-6b' status is 'NOANSWER'

Vielleicht habt Ihr ja einen Rat.
 
@heisse_fee

- Was passiert, wenn Du die VM der FBF abschaltest ?
- Nach wieviel Sekunden müsste denn die VM Deines Telefonanbieters d'ran gehen ?
- Handelte es sich bei Deinem Telefonanbieter um einen SIP-Provider oder einen Standard-ISDN Anschluß ?

Wenn Du schon am aufräumen bist, solltest Du auch SCCP, IAX und die CALLBACK extensions rausnehmen, da Du diese anscheinend nicht nutzt.

Gruß
dynamic
 
@dynamic

Schon mal vielen Dank, dass Du immer so fleißig hilfst. Ist echt super.

Mmmhh. Also, wenn ich folgende Zeilen auskommentiere, dann klingelt mein CISCO 7940 nicht mehr. Komisch. Was der Code bezweckt raffe ich nun wirklich nicht. Viel zu kompliziert :confused:

Code:
; callback?
; (compare number and channel of caller with number and channel in CB_IN_CHANNEL)
exten => _X.,1,noop,callerid_num=${CALLERID(num)}, channel=${CHANNEL}, callback_channel=${CB_IN_CHANNEL}
exten => _X.,n,gotoif,$["${CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}" != "${CB_IN_CHANNEL:0:$[${LEN(${CB_IN_CHANNEL})}-1-${LEN(${CALLERID(num)})}]}"]?80
exten => _X.,n,gotoif,$["${CALLERID(num)}" != "${CB_IN_CHANNEL:-${LEN(${CALLERID(num)})}}"]?80
exten => _X.,n,goto,callback-wait|s|1
 
Diese Zeilen werden lediglich für die Callback Funktion genutzt und werden für die "normale Telefoniefunktion" nicht benötigt, d.h. diese Zeilen können m.E. ohne Probs auskommentiert werden.

Für ankommende Anrufe ist lediglich folgender Eintrag von Bedeutung:
Code:
exten => _X.,80,Dial,SIP/771&IAX2/81&SCCP/701&CAPI/ISDN1/31|30|r
der in Deinem Fall ( wenn nur SIP genutzt werden soll ) noch wie folgt geändert werden könnte
Code:
exten => _X.,1,Dial(SIP/771,30,r)

Nach diesen Änderungen kannst Du ( falls es nicht funktionert ) mal:
- am CLI Prompt folgendes eingeben und Output hier posten: dialplan show capi_in1
- den log Output für einen nicht funktionieren Anruf nochmal posten

Gruß
dynamic
 
@dynamic

So habe noch mal alles so gemacht, wie Du gesagt hast. Komischer weise bekomme ich nun auch garkeinen sip-output mehr in der console angezeigt.

Hier meine extensions.

Code:
[globals]
; gehende Nummer in [festnetz_out]
CAPI_CALLERID=1234567


; --------------------------------------------------------------------
; für rausgehende Rufe
;
; Es hat sich als gute Praxis erwiesen, die Inhalte der Datei
; extensions.conf modular aufzubauen. Diese Praxis wollen
; wir auch hier anwenden
;

[lokal]

; Erreichbarkeit der Nebenstellen 
; untereinander herstellen

; Erreichbarkeit der Telefone am internen S0 der fritzbox 7050
; (wähle nach S0 intern ohne führende Ziffer 5: 5123 für Telefon mit msn=123)
;exten => _5.,1,Dial,CAPI/ISDN3/${EXTEN:1}|55|Tt/b
exten => _0X.,1,SetCallerID,${CAPI_CALLERID}
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

; remote asterisk
; (wähle nach remote asterisk ohne führende Ziffer 6: 680 echotest remote)
exten => 6945318,1,Dial,SIP/771|30|r

; SIP
exten => _77X,1,Dial,SIP/${EXTEN}|55|Ttr


[festnetz_out]
; Raustelefonieren per externen S0 der fritzbox 7050
; wenn Nummer führende Null hat (0 wird mitgewählt!)
; erzwinge default calller id aus capi.conf: /d
; (/d geht nicht; SetCallerID verwenden)
exten => _0X.,1,SetCallerID,${CAPI_CALLERID}
exten => _0X.,n,Dial,CAPI/ISDN1/${EXTEN}|55|Tt/bd

[sip_out]
;exten => _99.,1,Dial,SIP/${EXTEN:2}@sip1_out|45|r
exten => _X.,1,Set(CALLERID(num)=6945318)
exten => _X.,2,Dial(SIP/${EXTEN}@sipgate-out,30,trg)
exten => _X.,3,Hangup

; --------------------------------------------------------------------
; für reinkommende Rufe
;
; hier kommt der default-Context, in dem alle Geraete in der
; Grundkonfiguration erstmal laufen.
; Alle Geraete koennen sich gegenseitig anrufen

[default]
include => lokal

[sip771]
;exten => 6945318,1,Dial,SIP/771|30|r
include => lokal
;include => festnetz_out
include => sip_out

[asterisk2_in]
include => lokal

; ISDN S0 extern
[capi_in1]
; solange in capi.conf nur auf einer msn Nummer Anrufe angenommen werden
; reicht es, unabhängig von der msn immer auf die
; gewünschten Nebenstellen weiterzuverbinden


[sip_in]
exten => _X.,1,Dial(SIP/771,30,r)

Und das Ergebnis von "dialplan show capi_in1"

Code:
(none)*CLI> dialplan show capi_in1
[ Context 'capi_in1' created by 'pbx_config' ]

-= 0 extensions (0 priorities) in 1 context. =-

Hilft das irgendwie weiter?
 
Der Eintrag
Code:
exten => _X.,1,Dial(SIP/771,30,r)
gehört ja auch in den [capi_in1] Context, da dieses SIP Telefon ja bei ISDN Anrufen klingeln soll.

In [sip_in] macht dieser Eintrag dann Sinn, wenn bei eingehenden SIP-Anrufen ebenfalls SIP/771 klingeln soll.

Gruß
dynamic
 
So, nun habe ich noch mal alle korrekt eingestellt. hoffe ich ...
Leider klappt das mit dem AB immer noch nicht.

Code:
  == Auto fallthrough, channel 'CAPI/ISDN1#02/811003-73' status is 'NOANSWER'

    -- Executing [811003@capi_in1:1] Dial("CAPI/ISDN1#02/811003-74", "SIP/771|30|r") in new stack
    -- Called 771

    -- SIP/771-005ee808 is ringing

  == Spawn extension (capi_in1, 811003, 1) exited non-zero on 'CAPI/ISDN1#02/811003-74'

(none)*CLI> dialplan show capi_in1
[ Context 'capi_in1' created by 'pbx_config' ]

  '_X.' =>          1. Dial(SIP/771|30|r)                         [pbx_config]

(none)*CLI>

-= 1 extension (1 priority) in 1 context. =-

(none)*CLI>
 
nach wieviel Sekunden sollte der Telko-Dienstleister-AB denn rangehen? Sind evtl. die 30 Sekunden zuwenig, die derzeit ja das SIP-Phone klingelt? Ggf. einfach mal den Timeout-Wert 'raufsetzen oder ganz rausnehmen. Das _r_ing-Flag nimmt die Leitung nicht ab, oder? Ist das hier überhaupt nötig? Ich benutz' das bei mir nur auf ausgehenden Leitungen...

Bei mir sieht die Regel für capi-in schlicht so aus:

Code:
exten => _X.,1,Dial(SIP/771&SIP/773&SIP/775&IAX2/81)
 
@heisse_fee
Das sieht zumindest von der Konfigurationsseite schon etwas besser aus.

Jetzt ist die Frage ( wie auch schon von hawhill korrekt angedeutet ), ob und wann Dein AB beim Telefonanbieter die Leitung ( evtl. bei gestopptem Asterisk ) annimmt ?

Nimm vielleicht auch mal das "r-Flag" raus ... man weiss ja nie.

@hawhill
Eigentlich bewirkt das r-Flag lediglich, dass ( bei ausgehenden Gesprächen ) ein Ringtone erzwungen wird. Im eingehenden Context ist das Flag nicht erforderlich, aber sollte m.E. keine Auswirkung auf die Leitung haben.

Gruß
dynamic
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.