Telefonzentrale mit Asterisk ?

Abermals VIELEN DANK koyaanisqatsi! Funktioniert! Gibt es auch eine Möglichkeit, von Anfang an in eins der "Sound-Stamm-Verzeichnisse" des Asterisk und vor allem im richtigen Format aufzunehmen?
 
Damit hab ich keine Erfahrung.
Aber was hindert einen Erfahrenen nach der Aufnahme ins richtige Format zu konvertieren ?
...und ins richtige Verzeichnis zu verschieben/kopieren.
...das dürfte sogar in der selben Extension passieren, Stichworte: System(), TrySystem, Shell(), asterisk -x, file convert
Mit Shell() ausgeführte Skripte lassen Asterisk äußerst mächtig werden.
Weil Shell() Asterisk was zurückgeben kann, und somit Asterisk die Möglichkeit gegeben ist darauf zu reagieren.
Sogar Ellenlange Textausgaben oder simple Rückgabecodes ( 0 oder 1 ).
Beispiel: test.sh
Code:
echo "Ich bin kein Replikator"
Code:
same => n,Shell(/bin/sh /etc/asterisk/test.sh)
Also: Mächtig gewaltig
 
Zuletzt bearbeitet:
die "direkte" Aufnahme im richtigen Format klappt einfach, indem man das gewünschte Format angibt :) Siehe Auswahl "6" ...
Code:
[anrufregel]

exten => 621,1,Answer()
exten => 621,2,Background(hello)
exten => 621,3,Hangup()

exten => 1,1,Dial(SIP/**620@Fritzbox)

exten => 2,1,Dial(SIP/**600@Fritzbox)

exten => 6,1,Answer()
exten => 6,n,Record(/usr/share/asterisk/sounds/hello.ulaw,,,,skip)
exten => 6,n,Hangup()
Die Dateien werden standardmäßig im Verzeichnis /usr/share/asterisk/sounds abgelegt.
 
Top, du gibst auch was zurück, womit der koyaanisquatschi was anfangen kann ;)

Edit: Und ich hab Unsinn gepostet, Ausgaben von Shell() müssen, wie es auch dokumentiert ist, mit Set() in eine Variable verfrachtet werden.
Das kommt davon wenn es ungeprüft aus dem Gedächtnis aufgerufen wird.
:rolleyes:
Siehe: http://das-asterisk-buch.de/1.6/functions-shell.html

Hm, wenn Record() auch .pcm aufnehmen kann, dann ist die Qualität bei einer g722 Verbindung auch besser.
Dass werd ich mal bei Gelegenheit testen.
(Asterisk dürfte .pcm eh in das benötigte Format transkodieren)
 
Zuletzt bearbeitet:
So "Nicole."! :) Jetzt die extensions.conf und damit der Rest zum "Glück"!
Code:
[anrufregel]

exten => 621,1,Answer()
exten => 621,2,Background(hello)
exten => 621,3,Background(hello2)
exten => 621,4,Dial(SIP/**600@Fritzbox)

exten => 1,1,Playback(auswahl1)
exten => 1,2,Dial(SIP/**610@Fritzbox)

exten => 2,1,Playback(auswahl2)
exten => 2,2,Dial(SIP/**600@Fritzbox)

exten => 6,1,Answer()
exten => 6,n,Record(/usr/share/asterisk/sounds/hello.ulaw,,,,skip)
exten => 6,n,GoTo(621,2)

exten => 7,1,Answer()
exten => 7,n,Record(/usr/share/asterisk/sounds/hello2.ulaw,,,,skip)
exten => 7,n,GoTo(621,3)

exten => 8,1,Answer()
exten => 8,n,Record(/usr/share/asterisk/sounds/auswahl1.ulaw,,,,skip)
exten => 8,n,GoTo(621,3)

exten => 9,1,Answer()
exten => 9,n,Record(/usr/share/asterisk/sounds/auswahl2.ulaw,,,,skip)
exten => 9,n,GoTo(621,3)

exten => i,1,GoTo(621,3)

Die Auswahl 6-9 kann man jederzeit löschen oder ausklammern ... sind nur zur einfachen Aufzeichnung der entsprechenden Ansage-Texte gedacht.
 
Auf zwei Probleme/Schwierigkeiten bin ich während der Test's jedoch noch gestoßen:

1. Es ist leider nur ein gleichzeitiges Gespräch möglich. (von Extern über die Fritzbox bis zum Asterisk sind problemlos zwei gleichzeitige Gespräche möglich, jedoch weiterverbinden an eine Nebenstelle der Fritzbox kann sich anschließend max. ein Anrufer "gleichzeitig" lassen). Hier habe ich schon mal was gelesen, dass diese Konstellation wohl je Anrufer 3 "Gespräche" generiert und über die Fritzbox maximal 5 gleichzeitig möglich sind? Gibt's hier einen "Workaround"?

2. Die Rufnummer des Anrufers wird an der Fritzbox-Nebenstelle nicht mehr angezeigt beim Weg über den Asterisk. Stattdessen wird 621 (also der IP-Telefon-Account des Asterisk) angezeigt. Vielen Dank schon mal im Voraus für "entscheidende" Hinweise :)
 
Zu 1. bleibt wohl nur, den Asterisk direkt mit dem VoIP-Anbieter zu verbinden und so die gleichzeitigen SIP-Gespräche auf ein Minimum zu reduzieren ODER der Weg über einen ATA. Der Weg über einen ATA hätte den "Vorteil", dass die Fritzbox als Rückfallebene autark weiterarbeitet, auch wenn der Asterisk offline ist. Telefone/Endgeräte am Asterisk anmelden scheidet leider aus, da Fritz DECT mit Telefonbuch-Sync und Video-Übertragung von der Türstation vorgesehen ist.

Zu 2. bin ich noch nicht weiter bzw. fehlt mir der Such-Ansatz, wobei ich denke, dass die Lösung hier besser / einfacher aussehen sollte als bei 1.
 
Fritz!Boxen == Maximal 5 Sprachkanäle
Eine VoIP Verbindung == 2 Sprachkanäle
Also "Eigene Rufnummern -Reiter-> Sprachübertragung" im Auge behalten.

CID
Die Anrufernummer/name wird mittels Set() auf ${CALLERID(num)} und ${CALLERID(name)} gesetzt.
http://das-asterisk-buch.de/1.6/functions-callerid.html

Asterisk <--> Fritz!Box
Das "registry" hast du ja schon hingekriegt.
Jetzt registrier mal eine Nummer in der Fritz!Box am Asterisk.
Dafür braucht es wieder in der sip.conf einen Peer.
Nur hat der diesmal die Funktion eines: Registrars
Aus Sicht von Asterisk wäre die Fritz!Box dann ein: Telefon (Nebenstelle)
Deswegen, lass dich davon nicht verwirren, verweis ich mal auf diese Konfigurationsanleitung für ein SNOM IP-Telefon...
http://das-asterisk-buch.de/1.6/telefone-snom.html#snom-asterisk-sip.conf
Auch hier gilt: type=peer ist besser als type=friend
Anstatt eines SNOM richtest du aber eben eine Nummer in der Fritz!Box ein.
Wichtig: IP statt DNS-Name als Registrar eintragen, sonst gehts ins Internet ;)

Diese Nummern können in der Fritz!Box über die "Rufbehandlung" so geschickt "behandelt" werden, dass sie keinem Telefon zwingend zugewiesen werden müssen.
Auch funktionieren Wahlregeln die diese Nummern als ausgehende Nummer Richtung Asterisk nutzen und selbst "Callthrough" ist damit ein Kinderspiel.

Aber Vorsicht: Jede in der Fritz!Box angelegte Nummer ist aus dem Internet erreichbar (Via SIP Call URI)
...lokal natürlich auch ;)
 
Zuletzt bearbeitet:
Guten Morgen Koy,
Vielen Dank für die Tipps! :)

Die Fritzbox lässt maximal 5 gleichzeitig SIP-Verbindungen zu, wobei interne wie externe Verbindungen gezählt werden. In meinem Fall wären das also zunächst 2 Verbindungen je Anrufer BIS sich einer von maximal zwei Anrufern über das IVR an eine Nebenstelle der Fritzbox verbinden lässt, was eine weitere SIP-Verbindung generiert. Die Variante mit Asterisk als Registrar hab ich mir schon kurz überlegt, nur habe ich keine Vorstellung, wie das die 3 SIP-Verbindungen je Anrufer reduzieren könnte?

Das Set CALLERID hab ich auch kurz versucht, jedoch im CLI nicht mal die ursprüngliche Anrufer-ID gesehen (bei Anrufen von extern z. B.) und deshalb erstmal "aufgegeben". Gehe dem ganzen aber mal weiter nach ;-)
 
Punkt 2 ist hiermit gelöst: :)
Code:
exten => 621,1,Answer()
exten => 621,2,Set(CALLERID(name)=49${CALLERID(number):1})
exten => 621,3,Set(CALLERID(number)=49${CALLERID(number):1})
exten => 621,4,Background(hello)
exten => 621,5,Background(hello2)
exten => 621,6,Dial(SIP/**600@Fritzbox)

"Lediglich" die maximal fünf gleichzeitig zulässigen SIP-Verbindungen der Fritzbox bereiten mir Kopfzerbrechen. o_O
 
Moin Moin

Leider müssen Fritz!Boxler mit diesen 5er Limit leben.

Lass dir mal vor einer Änderung ausgeben...
Code:
same => n,Verbose(${EXTEN} <--> ${CALLERID(all)})
...oder in der Asteriskkonsole: core show channels
 
2 active channels
1 active call

in dem Moment, wenn der Anrufer die Auswahl zum Verbinden an einen Nebenstelle an der FB wählt ... davor ist es 1 Kanal
... dazu kommt aber noch der externe Kanal (ebenfalls SIP/VoIP, da IP-Anschluss)
 
IDEE:
Externer Anrufer über IP-Anschluss --> Fritzbox == 1 SIP-Kanal
Weiterleitung über Nebenstelle (FB) --> Asterisk == 1 weiterer SIP-Kanal
Auswahl des Anrufers über das IVR (Ast.) --> Fritzbox == 1 weiterer SIP-Kanal
Gesamt: 3 SIP-Kanäle belegt von maximal 5 möglichen

Auf die Auswahl des Anrufers folgt das Verbinden an eine FritzBox Nebenstelle (in diesem Fall ein Fritz Dect Telefon).

Wie wäre es denn, würde man im Asterisk nicht WEITERVERBINDEN (Dial) sondern eine KONFERENZ starten? Damit würde doch eine SIP-Verbindung eingespart?

ABER: Eine "Konferenz", die die Fritzbox startet, nicht der Asterisk!
 
Die Konferenz muss das Telefon können müssen, nicht die Fritz!Box.
Schau also mal in die Gebrauchsanleitung des Telefons ob das möglich ist.
 
Ok, Konferenz ist wahrscheinlich Käse aber wenn man am Dect-Telefon einen Anruf entgegennimmt, hat man die Möglichkeit, diesen INTERN weiterzuleiten. Die eigene Verbindung wird im Anschluss daran geschlossen und der Anrufer an eine andere Nebenstelle weitergereicht.
Der Asterisk ist ja im Endeffekt (zumindest in dieser Konstellation) ebenfalls eine Nebenstelle (nur eben nicht DECT sondern IP).
Anstelle mit "Dial" eine weitere Verbindung über den Asterisk aufzubauen (zu einer Fritz Nst) würde ich gerne den bestehenden Anruf an die Fritzbox zurückgeben mit einem Befehl, der auch die gewünschte Nebenstelle enthält. Genau so dürfte es auch das Fritz DECT Telefon machen?
 
Hast du auch die Voraussetzungen/Einschränkungen gelesen ?
 
ja und dann das gefunden: R-Taste, Transfer-Taste ... wie auch immer: es scheint möglich zu sein intern weiterzuvermitteln (auch von einem IP-Telefon bzw. in diesem Fall vom Asterisk aus?)

Es bleibt spannend :)
 
Alle an Fritz!Box angeschlossene Telefone, auch die SIP-Telefone, können einen Anruf fangen.
Nennt sich: Call Pickup
Code: *09 (und (grüne) Hörertaste drücken)
...ist zumindest eine Alternative.
 
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.