[Gelöst] Asterisk on FBF Phone mit ISDN + 2x Sip, wie route ich richtig ?

hostversushorst

Neuer User
Mitglied seit
3 Jan 2010
Beiträge
27
Punkte für Reaktionen
0
Punkte
1
Hallo Leute,

ich bin langsam am verzweifeln.
Da es mich genervt hat, dass ich an den IP-Telefonen keine Pick-up funktion hatte und auch das weiterverbinden nicht klappte, wenn sie als SIP-Clients an der FB hängen, habe ich das Projekt Asterisk wieder belebt.
Jetzt können die SIP-Telefone untereinander telefonieren, mit Vorwahl 98 über webcall und mit 97 über sipgate telefonieren. Das geht auch von den ISDN-Telefonen.

Es bleiben 2 Problem:
1.) Wie bekomme ich die Telefone (Endgeräte), die an der FBF direkt hängen dazu bei eingehenden ISDN-anrufen zu klingeln ?
In der extensions.conf steht z.B.
Code:
exten => "meinemsn",80,Dial(SIP/7702&SIP/7703&SIP/7706,30,r)
SIP 7706 ist in der FBF als Internettelefonnumemr eingetragen und den ISDN-Telefonen an S0 als Telefonnummer zugeordnet
Intern von einem der anderen SIP-clienten (z.B. 7701 dem ominösen Chinading) kann man das Endgerät auch erreichen.
Bei eingehendem ISDN-Telefonat kommt folgende Meldung
Code:
-- Got SIP response 486 "Busy Here" back from 192.168.0.1

-- SIP/7706-0069b380 is busy

(Das passiert bei allen Anrufen, die per ISDN reinkommen, und die der Asterisk an eine Internettelefonnummer in der FBF weiterleiten will.)

Was muss ich in der FB einstellen, damit das klappen kann.

Hat jemand eine Idee ? Oder eine funktionierende Konfiguration, die er mal als Beispiel posten kann ?

2. Wie kann ich bestimmen, dass in Abhängigkeit des Nutzers über eine bestimmte MSN telefoniert wird ?

In der extensions.config ist zwar eine Zeile
exten => _0X.,1,SetCallerID(${CAPI_CALLERID});
aber die funktioniert nicht es geht nur mit diieser hier:
exten => _0X.,1,Dial(CAPI/ISDN1/${EXTEN},55,Tt/bd)

Leider setzt er die MSN nicht korrekt. Es wird immer die erste MSN übertragen, obwohl ich eine ander gesetzt habe in der capi.conf

Aber eigentlich würde ich gerne irgendwo festlegen, dass z.B. 7701,7702,7703 über MSN2 raustelefoniern (meine Homeofficenummer), 7709 über MSN4 (mein Teenager hat eine eigene Nummer) und die anderen über MSN1..


Ich habe auch schon versucht mich hier durch die verschiedenen Beiträge zu wühlen, aber so richtig habe ich da nichts zu gefunden.

Falls ichs bloß übersehen haben sollte wäre ein Link super, ansonsten hoffe ich auf Hilfe.

Danke im vorraus....

LG

HOst
 
Zuletzt bearbeitet:
zu 2.
In http://www.ip-phone-forum.de/showpost.php?p=1578278&postcount=11, steht wie man die msnnr richtig setzt.
Dazu brauchst Du die Variable ${CALLERID(num)}
Also erst mittels ${CALLERID(num)} die aktuelle SIP-NR abfrage, dann z.B. mittels IF/GOTOIF/SWITCH die gewünschte msn setzen.
Siehe auch http://www.das-asterisk-buch.de/2.1/apfelmus-exten-var.html, http://www.das-asterisk-buch.de/2.1/functions-if.html, http://www.das-asterisk-buch.de/2.1/programmierer-howto.htmlundhttp://www.das-asterisk-buch.de/2.1/extensions.ael.html#ael-conditionals
 
Zuletzt bearbeitet:
zu 1.

zeig mal deine extension und sip
 
zu 2.) Chacka... das war der Tip der fehlte....

So klappt es jetzt mit dem Nummer setzen und rauswählen.
Code:
exten => _0X./7703,1,Set(CALLERID(num)=18xxxx)
exten => _0X./7706,1,Set(CALLERID(num)=77xxxx)
exten => _0X./7709,1,Set(CALLERID(num)=18xxxx9)
exten => _0X.,2,Dial(CAPI/ISDN1/${EXTEN},55,Tt/bd)

zu 1.) welchen Teil ?

Die Geräte sind in der sip.conf

alle nach dem Muster:
Code:
[7709]
context=sip7709
callerid="Teenie-Phone" <7709>
host=dynamic
domain=192.168.x.x
;nat=yes                       ; X-Lite is behind a NAT router
type=friend
user=7709
secret=7709
mailbox=7709
;canreinvite=no                ; Typically set to NO if behind NAT

;regexten=1234                 ; When they register, create extension 1234
;username=xlite1
disallow=all
allow=gsm                     ; GSM consumes far less bandwidth than ulaw
allow=ulaw
allow=alaw
subscribecontext=BLF_Group_1

Intern kann ich die auch anrufen. Nur Isdn drauf zurück leiten geht nicht.

extensions.conf
Code:
....
[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/7701&IAX2/81&SCCP/701,30,r)
; mit sccp:
;exten => _X.,80,Dial(SIP/7701&IAX2/81&SCCP/701,30,r)
; ohne sccp:
exten => 18xxxx,80,Dial(SIP/7702&SIP/7703&SIP/7706,30,r)
exten => 77xxxx,80,Dial(SIP/7703&SIP/7705,30,r)
exten => 189xxx9,80,Dial(SIP/7709,30,r)

Entweder klingel Die Apparate, die direkt als SIP-client dran hängen klingeln... oder nur die isdn-geräte-.... grrr.... dann tut sich aber im Asterisk auch nix.

Ich tippe darauf, dass ich in der FBF was falsch habe, aber was. eintragen muss ich die Numemrn ja wohl, sonst kennt er die ja nicht.
 
aha, exten => _0X./7703 kannte ich nicht...das ist ja praktisch

gib mal 'dialplan show nr@capi_in1' ein, wobei nr die Nummer sein, bei der die Geräte klingeln sollen und poste mal was rauskommt, bzw schalte mal kurz die 4 Zeilen unter Callback aus,
und setzt mal in den letzten 3 Zeilen den Zähler überall auf 1 statt auf 80. Achso, was zeigt den 'sip show peers' an ?
 
Zuletzt bearbeitet:
snüff.. jetzt gerade garnichts mehr.... der fritz hat sich erschossen....
aber sobald er wieder mitspielen mag poste ich die loggings
 
Na toll... jetzt werden wenigstens KEINE Anrufe mehr entgegen genommen....
 
bei mir sah es mal so aus, und klappt auch:

Code:
[lokal]
include => echotest
include => recordtest
include => record_message
[sipaccnr]
include => lokal
include => festnetz_out
[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,Set(CALLERID(num)=msn2)
exten => _0X.,2,system(echo "${STRFTIME(||%Y-%m-%d_%H-%M-%S)} - ${CALLERID(num)}: Call to ${EXTEN} ."  >> ${LOG_PATH}/call.log
exten => _0X.,3,Dial(CAPI/ISDN1/${EXTEN},55,Tt)

Code:
; ISDN S0 extern
[capi_in1]
exten => _msn2,1,noop(Anruf von ${CALLERID(num)})
exten => _msn2,2,Dial(SIP/accnr,20)
exten => _msn2,3,Goto(record,s,1)
 
wie wäre es mit ein wenig mehr input ?

du kannst z.B. mittels
asterisk -vvvvvcr
starten, da gibt es dann auch debug meldungen. Irgendwas muss * ja machen, wenn jemand bei dir anruft.

und mittels 'dialplan telennr@capi_in1' kannst du checken, ob er die richtigen Extensions aufruft.
 
Vielen Lieben Dank für die schnelle Hilfe, aber das "Problem" war mal wieder zwischen den Ohren, bzw. an der Tatstatur.
Ich habe nicht bedacht, dass die capi.conf nur beim Neustart des asterisk neu geladen wird... und wenn da nix gscheites, bzw. wie vorhin nur eine Nummer drin steht, dann kann die fleissigste Fritzbox nix machen und auch der fitteste Asterisk is machtlos..... ;-)

Inzwischen klingeln scheinbar die Apparate die klingeln sollen und meine sip.conf und meine extension.conf sind völlig okay gewesen.

Nagut, bis auf die, die am internen S0 der FBF hängen, aber vielleicht fällt da ja noch jemandem was zu ein.

LG

HOst
Wieder erreichbar und (fast) glücklich.... jetzt kann ich an die Pickup-funktion gehen, um die es mir eigentlich ging....;-)
 
Zuletzt bearbeitet:
und was war jetzt das Problem mit 'busy' ?
 
Eine der in der FBF registrierten SIP-Nummern des Asterisk (die 7705) benutze ich als Umleitung, um von den direkt an der FBF angeschlossenen Telefonen auf den Asterisk zu kommen...
Die ist dann halt immer busy...

Das einzige "echte" Problem, was ich immer noch habe:
Wie bekomme ich die ISDN-Telefone am internen S0- Bus zum klingeln.... ?
Ich habe die 7706 als Internetrufnummer in der FB eingetragen, im Apparat als MSN und in der Konfiguration gesagt, das sei die Hauptnummer des Gerätes...
Aber nix... Schweigen. Möglicherweise liegt es aber daran, dass ja die eingentliche MSN übergeben wird und die ist im Telefon nicht eingegeben,

Ich habe dazu an anderer Stelle folgendes gefunden:
Code:
exten => 12345,1,Dial(CAPI/ISDN3/22) so hab ich woanders geklaut
Müsste dann bei mir so heißen:
Code:
exten =>77xxxx,1,Dial(CAPI/ISDN3/52)
bzw.
exten => 77xxxx,80,Dial(SIP/7705&SIP/7706&CAPI/ISDN3/52,30,r)

Klappt aber leider nicht.

Aber das hier klappt:
Code:
exten => 77xxxx,80,Dial(SIP/7705&SIP/7706&CAPI/ISDN3/7707,30,r)

Hah... jetzt muss nur noch die debug.conf greifen... ;-) meine bl.. FBF macht mindestens einmal am Tag ein reboot.

LG

Host
 
Zuletzt bearbeitet:
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.