[Problem] Eingehende Anrufe auf Asterisk funktionieren nicht...

Darauf, wie die eingehenden Anrufe über die "register =>" erkannt werden können, bezieht sich das "Übrigens" aus Post #2.
Also nochmal lesen, und mit NoOp() oder Verbose() die ${EXTEN} anzeigen lassen, dann kannst du für jede ${EXTEN} der "register =>" mit GoToIf() oder ExecIf() eine Bedingung festlegen.
Ich bevorzuge ExecIf(), weil flexibler als GoToIf() und in ExecIf() darf auch GoToIf() vorkommen.
 
So wie ich das sehe (& verstanden habe) hab ich jetzt 2 Möglichkeiten externe Anrufe zu verarbeiten..

1. über
register => MSN4711:***PWD***@fritz.Box/leitung1
register => MSN4712:***PWD***@fritz.Box/leitung2
[...]
um dann über
exten => leitung1,1,NoOp(Anruf über 4711)
same => n,Dial(SIP/Phone_1)

oder
exten => leitung2,1,NoOp(Anruf über 4712)
same => n,Dial(SIP/Phone_1)

die Rufe zu verteilen.. (wo du ja sagst das das so nicht funktionieren soll mit der Unterscheidung auf welche Nummer angerufen wurde)

Oder Deine Variante, die sich mir noch nicht ganz erschließt...

deinen 6:52 Uhr Post hat er mir gerade gar nicht angezeigt...
Ich fürchte zu den erwähnten Funktionen bräuchte ich mal ein Beispiel...
 
Zuletzt bearbeitet:
Genau richtig verstanden ;) - Das ist die Pflicht.

Die Kür ist/wäre das in einer Extension abzugreifen die auf alle "register =>" Extensions hört...
Rich (BBCode):
exten => _6[08]XXXXXX,1(fbf_incoming),NoOp("${CALLERID(all)}" "-->" "${EXTEN}")                                                                                                     
exten => _6[08]XXXXXX,2,GotoIf(${REGEX("^[*]\{2\}[1-2]$" ${CALLERID(num)})}?fb_fon)                                                                                                          
exten => _6[08]XXXXXX,3,GotoIf(${REGEX("^[*]\{2,2\}62[0-9]$" ${CALLERID(num)})}?fb_ip)                                                                                                       
exten => _6[08]XXXXXX,4,GotoIf(${REGEX("^[*]\{2,2\}61[0-5]$" ${CALLERID(num)})}?fb_dect)                                                                                                     
exten => _6[08]XXXXXX,5,GotoIf(${REGEX("^[*]\{2,2\}5[1-9]$" ${CALLERID(num)})}?fb_isdn)                                                                                                      
exten => _6[08]XXXXXX,6,GotoIf(${REGEX("^[*]\{2,2\}4[1-3]$" ${CALLERID(num)})}?fb_weckruf)                                                                                                   
exten => _6[08]XXXXXX,7,GotoIf(${REGEX("^[*]\{3\}" ${CALLERID(num)})}?fb_fix)                                                                                                       
exten => _6[08]XXXXXX,8,GotoIf($["${EXTEN}" = "68123456"]?dial1)                                                                                                                             
exten => _6[08]XXXXXX,9,GotoIf($["${EXTEN}" = "68234567"]?dial2)                                                                                                                             
exten => _6[08]XXXXXX,10,GotoIf($["${EXTEN}" = "68345678"]?dial3)                                                                                                                            
exten => _6[08]XXXXXX,11,GotoIf($["${EXTEN}" = "60456789"]?dial4)                                                                                                                            
exten => _6[08]XXXXXX,12,GotoIf($["${EXTEN}" = "60567891"]?dial5)                                                                                                                            
exten => _6[08]XXXXXX,13,GotoIf($["${EXTEN}" = "60678910"]?dial6)                                                                                                                            
exten => _6[08]XXXXXX,14,GotoIf($["${EXTEN}" = "60789101"]?dial7)                                                                                                                            
exten => _6[08]XXXXXX,15,GotoIf($["${EXTEN}" = "60891013"]?dial8)                                                                                                                            
exten => _6[08]XXXXXX,16,GotoIf($["${EXTEN}" = "68910112"]?dial9)                                                                                                                            
exten => _6[08]XXXXXX,17,GotoIf($["${EXTEN}" = "68111213"]?dial10)                                                                                                                  
exten => _6[08]XXXXXX,18(nomatch),Hangup()                                                                                                                                          
exten => _6[08]XXXXXX,19(fb_fon),NoOp("${CALLERID(all)}")                                                                                                                           
exten => _6[08]XXXXXX,20,Goto(dial6)                                                                                                                                                
exten => _6[08]XXXXXX,21,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,22(fb_ip),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,23,Goto(dial7)                                                                                                                                                
exten => _6[08]XXXXXX,24,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,25(fb_dect),NoOp("${CALLERID(all)}")                                                                                                                          
exten => _6[08]XXXXXX,26,Goto(dial8)                                                                                                                                                
exten => _6[08]XXXXXX,27,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,28(fb_isdn),NoOp("${CALLERID(all)}")                                                                                                                          
exten => _6[08]XXXXXX,29,Goto(dial9)                                                                                                                                                
exten => _6[08]XXXXXX,30,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,31(fb_weckruf),NoOp("${CALLERID(all)}")                                                                                                                       
exten => _6[08]XXXXXX,32,Goto(dial10)                                                                                                                                               
exten => _6[08]XXXXXX,33,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,34(fb_fix),NoOp("${CALLERID(all)}")                                                                                                                           
exten => _6[08]XXXXXX,35,Goto(dial10)                                                                                                                                               
exten => _6[08]XXXXXX,36,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,37(dial1),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,38(snom_ringtone),SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                      
exten => _6[08]XXXXXX,39,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,40,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,41(dial2),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,42,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,43,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,44,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,45(dial3),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,46,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,47,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,48,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,49(dial4),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,50,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,51,Dial(SIP/1005,60)
exten => _6[08]XXXXXX,52,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,53(dial5),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,54,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,55,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,56,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,57(dial6),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,58,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,59,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,60,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,61(dial7),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,62,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,63,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,64,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,65(dial8),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,66,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,67,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,68,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,69(dial9),NoOp("${CALLERID(all)}")                                                                                                                            
exten => _6[08]XXXXXX,70,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,71,Dial(SIP/1005,60)                                                                                                                                          
exten => _6[08]XXXXXX,72,Goto(exit)                                                                                                                                                 
exten => _6[08]XXXXXX,73(dial10),NoOp("${CALLERID(all)}")                                                                                                                           
exten => _6[08]XXXXXX,74,SipAddHeader(Alert-Info: <http://192.168.0.1/ctu.wav>)                                                                                                     
exten => _6[08]XXXXXX,75,Dial(SIP/1005,60)
...und auch erkennt ob der Anruf von Intern oder Extern kommt.
( Einfach dadurch das bis Priorität 7 auf interne Nummern der FRITZ!Box geprüft wird )
Unterschied zu deinen "register =>" Extensions ist, dass meine den zugewiesenen Nummern in der FRITZ!Box entsprechen, bzw. gleichlautend sind.
...die ich zum Posten natürlich verändert habe ;)
Die fangen entweder mit 68 oder 60 an und sind 8stellig.
Und genau das wird mit _6[08]XXXXXX gefangen.
Hier werden übrigens benannte Labels als Sprungmarken genutzt, so kann sich auch wenn die Priorität (Nummer) sich ändert, durch Löschen/Hinzufügen, trotzdem an die richtige Stelle gesprungen werden.
 
Zuletzt bearbeitet:
Öhnm,
die Rufe zu verteilen.. (wo du ja sagst das das so nicht funktionieren soll mit der Unterscheidung auf welche Nummer angerufen wurde)
Sehe ich das richtig, dass du überlegst, sowohl die Amtsrufnummern als auch die IP-Nebenstellen in der Fritzbox zu registrieren, den "Rest" - aktuell stumpfes Geradeaus-Routing - im Asterisk zu machen? Der Threadverlauf bringt mir da leider keine klare Antwort, daher frage ich explizit nach.

Damit hättest du die von dir geforderte Routerunabhängigkeit ja genau nicht. Davon ab belegst du auf diese Weise mit einem Amtsgespräch bereits 3 der 6 VoIP-Kanäle in der Fritzbox.
 
Klares nein...

ich möchte das die Fritz!Box nur als Vermittler fungiert & sämtliche Telefoniegeräte über Asterisk laufen..
Genau so, wie es die HiPath gerade tut, nur das die über den S0 verbunden ist...
An der Fritzbox sind dann also keinerlei ip Telefone, DECT Geräte oder Ähnliches angeschlossen / verbunden...

was dich jetzt vielleicht irritiert hat ist die 2. Fritzbox die dann die Faxgeräte unter seiner Fuchtel haben soll... Quasi als SIP/Gateway für die analogen Faxgeräte (sprich multifunktionsdrucker) was wiederum auch nur über den Asterisk ne Verbindung nach außen bekommt...
 
OK. Was verstehe ich denn dann an #33 falsch? Das liest sich für mich so als registriert das Asterisk peers für MSNs an deiner Haupt-FB.
 
Das ist richtig..

irgendwie muss ich ja die Verbindung zur Außenwelt herstellen..

da in der Fritzbox sämtliche Rufnummern eingerichtet sind & diese auch später im Asterisk zur Verfügung stehen sollen muss ich die ja irgendwie von der Fritte zur Asterisk bekommen...

Es handelt sich hierbei um insgesammt 6 Rufnummern...
Je Rufnummer, ein Peer zur Asterisk..

nur weil die Kanäle eingerichtet sind, heißt es ja noch lange nicht, das sie auch aktiv sind...

interne Gespräche z.b. verlassen die Asterisk gar nicht (zumindest nicht in Richtung Fritzbox)
 
Das ist richtig..
Also doch Routerabhängigkeit :)

irgendwie muss ich ja die Verbindung zur Außenwelt herstellen..
Ja, indem du die Rufnummern nicht in der Fritzbox sondern im Asterisk registrierst.
Denn

Es handelt sich hierbei um insgesammt 6 Rufnummern...
So wie du es aktuell vorhast, ist dann bei drei Amtsgesprächen Schluss.

Aber andersrum gefragt: wenn du nicht vorhast, an deiner Haupt-Fritzbox irgendwelche Teilnehmer zu betreiben, warum sollen dann Amtsleitungen auf ihr terminiert werden?
 
Mehr als 2 „Leitungen“ (Sprachkanäle) nach draußen hab ich eh nicht..

grundsätzlich hast Du aber schon recht...
Warum die Amtsleitungen nicht direkt in die Asterisk?
Hauptsächlich wegen Ausfallsicherheit & (noch) Fax...
Der Astrerisk kan durchaus mal abschmieren oder durch configfehler einen Anruf nicht entgegennehmen..
So ist zumindest noch ne Rückfallebene vorhanden...
Außerdem soll die HiPath noch ne ganze Weile im „cold Standby“ bleiben & das funktioniert nur, wenn die fritte die telefoniesachen auch kennt...

[Edit Novize: Beiträge zusammen gefasst - siehe Forumsregeln]

[Edit Novize: Überflüssiges Fullquote gelöscht - siehe Forumsregeln]


Kannst Du mal bitte eine, gern auch mehrere Deiner exten => Anweisungen ganz genau aufdröseln? Was passiert da? Das ganze geraffel ist gerade noch ein Buch mit 7 Siegeln...
 
Zuletzt bearbeitet von einem Moderator:
Das sind bedingte Verzweigungen ( Priorität 2 bis 17 ), sobald eine Bedingung zutrifft wird nach dem Fragezeichen in das dahinter angegebene Label gesprungen, wenn nicht, wird in der nächsten Priorität weitergemacht.
Priorität 18 sichert das ab, und macht ein Hangup(), falls keine Bedingung trifft, damit nicht stumpf in Priorität 19 gesprungen wird.
Das ist eigentlich so einfach wie das "Basic" eines C64 ;)
OK, 2 bis 7 sind reguläre Ausdrücke, die testen aber auch nur ob der Anrufer seine Nummer mit zwei Asterisk ( ** ) beginnt und welche Nummer danach folgt.
...so kann auf einen internen Ruf der FRITZ!Box geprüft werden, die Anrufernummer steht in: ${CALLERID(num)}

Die Prioritäten 8 bis 17 sind die Prioritäten, die bei mir auf den letzten Teil, also die Extension, des jeweiligen "register =>" treffen.


qualify=300000
Hab ich jetzt so ein Weilchen laufen und sieht soweit auch gut aus...
Code:
osmc*CLI> sip show peers
Name/username             Host                                    Dyn Forcerport Comedia    ACL Port     Status      Description                      
1000/1000                 192.168.188.1                            D  Yes        Yes            5060     OK (7 ms)   User/Peer                        
1001/1001                 192.168.188.1                            D  Yes        Yes            5060     OK (17 ms)  User/Peer                        
1002                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
1003                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
1004                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
1005                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
1006                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
1007/1007                 192.168.188.100                          D  Auto (No)  No             5060     OK (17 ms)  User/Peer                        
1008                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
1009                      (Unspecified)                            D  Auto (No)  No             0        UNKNOWN     User/Peer                        
fbfgateway0/koyaanisqatsi 192.168.188.1                               Auto (No)  No             5060     OK (10 ms)  Peer/NAT                         
11 sip peers [Monitored: 4 online, 7 offline Unmonitored: 0 online, 0 offline]
 
Zuletzt bearbeitet:
Also sind Deine fb_fon, fb_dect, fb_ip, ... sowie die dial1-10 weitere [extensions] in der exctensions.conf?

exten => _6[08]XXXXXX,2,GotoIf(${REGEX("^[*]\{2\}[1-2]$" ${CALLERID(num)})}?fb_fon)

Reproduzieren kann ich das nicht... o_O
Das ist mir gerade viel zu unübersichtlich... Viel zu viele klammern drin... o_O
Aus Deiner Beschreibung raus wählt asterisk hierbei die extension fb_fon an wenn die ersten beiden stellen der Anrufer-Rufnummer mit 2 Sternchen beginnt... und schiebt in diesem Beispiel den Anrufer in die MoH

[fb_fon]
exten => _X.,1,NoOp(Someone calling)
same => n,Answere()
same => n,Wait(1)
same => n,MusicOnHold()
 
Aus Deiner Beschreibung raus wählt asterisk hierbei die extension fb_fon an wenn die ersten beiden stellen der Anrufer-Rufnummer mit 2 Sternchen beginnt... und schiebt in diesem Beispiel den Anrufer in die MoH
Genau so isses.
@koyaanisqatsi verwendet reguläre Ausdrücke. Die Tatsache, dass bei der Asterisk Extension Language jeder Ausdruck, der nicht literal interpretiert werden soll, jedes mal mit ${} umklammert werden muss, macht das ganze leider nicht lesbarer.
Hier empfiehlt sich ein guter Texteditor, in den man Syntax Highlighting für AEL installieren kann, das hilft enorm, hier den Überblick zu behalten, vor allem weil ein guter Texteditor, öffnende und schließende Klammern zu einander sucht und wenn der Cursor über einer öffnenden Klammer steht, die dazu passende schließende Klammer hervorhebt.
Hier sieht man übrigens auch, dass Asterisk eben keine Telefonanlage sondern ein Telefonie-Toolkit ist :)

Wie gesagt, es ist die Kür. Man muss etwas Hirnschmalz investieren, aber dafür erspart man sich hintenraus meist Copy-Paste-Orgien (die ihrerseits fehleranfällig sind).
 
[fb_fon]
exten => _X.,1,NoOp(Someone calling)
same => n,Answere()
same => n,Wait(1)
same => n,MusicOnHold()
Und hier ist schon bei "dialplan reload" bei der Priorität 2 ein Fehler drinne ;)
Wie wird Asterisk sich wohl bei Priorität 2 verhalten?
Check mal mit: dialplan show 1234567890@fb_fon
Die Labels kommen in runden Klammern hinter die Priorität, ich label mal dein Beispiel...
Rich (BBCode):
[fb_fon]
exten => _X.,1(label1),NoOp(Someone calling)
same => n(label2),Answere()
same => n(label3),Wait(1)
same => n(label4),MusicOnHold()
...und ein Kontextname ( [fb_fon] ) ist kein Label.

Guck mal, Syntaxhighlightning, und Klammersetzungsüberprüfung mit der Vollinstallation von: vim
Bildschirmfoto vom 2021-01-19 15-55-25.png
 
Zuletzt bearbeitet:
Guck mal, Syntaxhighlightning, und Klammersetzungsüberprüfung mit der Vollinstallation von: vim
Anhang anzeigen 109280
Man darf aber gerne auch einen etwas, ähm, einsteigergeeigneteren Editor wie nano nehmen, der kann das auch.

Oder alternativ den Dialplan lokal auf dem Desktop editieren, für deren Editoren (Sublime Text, Notepad++, ...) gibt es auch entsprechende Erweiterungen.
 
Mein Raspberry Pi ist headless, ich muss so einen einsteigerunfreundlichen Editor nutzen ;)
( Da läuft Kodi auf dem Monitor zum Filmegucken und fürs Streaming und dazu noch mit ganz vielen Plugins und Addons )
So kann ich Kodi über Asterisk und mit Telefon fernsteuern.
....immerhin, komfortabler als busybox'ens vi auf ner ollen FRITZ!Box.
( Aber ^^^deswegen^^^ kenn ich mich mit vi/vim besser aus als wie mit nano und nutz ihn auch lieber )


@Tiieto - Einmal zur Verdeutlichung...
GoTo(1) = Springe innerhalb der selben/aktuellen Extension zur Priorität 1
GoTo(exit) = Springe innerhalb der selben/aktuellen Extension zur Sprungmarke ( Label ) exit
GoTo(Kontext,Extension,Priorität) = Zum verlassen des aktuellen Kontextes und springe im neuen Kontext nach Extension und zur Priorität
Siehe: http://das-asterisk-buch.de/1.6/applications-goto.html
 
Zuletzt bearbeitet:
Also läuft auf deinem Pi ein X Desktop? - Und bei mir eben nur das Mediacenter Kodi (debianbasiert, heisst mit apt wird "nachinstalliert" was geht) ohne die Möglichkeit den so zu beenden um einen "normalen" Windowmanager zu starten.
Aber hast Recht, ich bin halt ein Gewohnheitstierchen ;)
Soll heißen: Ich log mich über SSH ein und attache mein bereits laufendes tmux worin ständig "irgendwas" läuft. Zum Beispiel: asterisk -r
 
Zuletzt bearbeitet:
Ich arbeite am Mac...
Habe mir die nötige Ordnerstruktur des Pis via SMB als Netzlaufwerk auf meinen Apfel gemountet und bearbeite die configs mit dem Mac-internen Texteditor direkt im Netzlaufwerk... Wird zwar nicht alles so schön farbig dargestellt aber solange das nicht so extrem kryptisch wird wie oben, geht das ganz gut...

Ich kenne aber auch vi, vim, nano... Da ich den Vi / Vim vorher kannte fand ich den Nano eher etwas schwieriger ;)
 
Dann probier doch mal den Midnight-Commander (sudo apt install mc). Der ist ein übersichtlicher 2-Fenster Dateimanager, ist FTP-fähig, hat einen eigenen Editor dabei (der beliebig austauschbar ist) und läuft ganz ohne X-Session direkt auf der Konsole.
 
Hab ich auch...
Bildschirmfoto vom 2021-01-19 17-59-21.png
( mc in tmux )
...dann kommt sofort dieses nostalgische MS-DOS Feeling :)
 
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.