CallerID zwischen 3CX und Asterisk

ciscoX

Trial User
Basic Certified
Mitglied seit
11. Mai 2023
Beiträge
226
Hallo,

in 3CX gibt es ja die SP1. Wenn ich also den Anrufer +4912345 auf der SP1 parke und anschließend die SP1 anwähle, wird die SP1 durch die geparkte Rufnummer im Display ersetzt.
Nun ist meine Frage, geht das auch, wenn ich Asterisk und 3CX miteinander verbunden habe und über eine 3CX App einen Anruf auf einer Asterisk Extension "parke"?

Derzeit habe ich folgendes Szenario: Ich parke den Anrufer +4912345 über die 3CX App auf der Asterisk Extension 1198. Wenn ich nun die Asterisk Extension 1198 (ConfBridge) anrufen, um dem Gespräch beizutreten, wird weiterhin die 1198 angezeigt. Ich will aber, dass +4912345 im Display angezeigt wird. Wie bekomme ich das am besten gelöst?

Es geht darum, dass 3CX nicht die Möglichkeit bietet einen Wählton zu initiieren, bevor ein Anrufer aus der Queue geholt wird. Mit einem Call Flow bekomme ich das nicht gebacken. Das konnte ich bereits über einen Asterisk Dialplan lösen. Der Anrufer wird direkt zu 1198 weitergeleitet. Wenn ich nun die 1196 wähle, wird auf der Extension 1198 ein Script ausgeführt, der kurz an die 1197 mit einem Wählton weiterleitet und dann den Anrufer in die ConfBridge(1234) vermittelt. Die 1196, also auf meiner Seite höre ich im selben Moment, wie der Teilnehmer auf 1198 den Wählton und werde ebenfalls in die ConfBridge(1234) vermittelt.

Ein Traum wäre es, wenn der 3CX Call Flow Designer die Möglichkeit hätte ein Prompt Playback abzuspielen, so lange, bis ich ebenfalls den CallFlow anrufe und mich dann mit dem Teilnehmer verbindet. Dieses Thema haben wir aber schon in einem anderen Thread besprochen und geht in Richtung "geparkten Anruf abholen" was der Call Flow Designer, bzw. die 3CX durch einen CFD nicht realisieren kann. Schade, deshalb muss Asterisk dafür "herhalten".

3CX muss da ohnehin aus dem Spiel sein, da ansonsten währender Weiterleitung von Asterisk zum 3CX Call Flow das typische 3CX-Usprogresstone zu hören ist. Das ist unbedingt zu vermeiden.

Viele Grüße
 
Zuletzt bearbeitet:
Nun ist meine Frage, geht das auch, wenn ich Asterisk und 3CX miteinander verbunden habe und über eine 3CX App einen Anruf auf einer Asterisk Extension "parke"?
Nein, da
Ich parke den Anrufer +4912345 über die 3CX App auf der Asterisk Extension 1198. Wenn ich nun die Asterisk Extension 1198 (ConfBridge) anrufen, um dem Gespräch beizutreten, wird weiterhin die 1198 angezeigt.
du die Extension anrufst und nicht diese dich (und dabei einen Anruf übergibt).

Eventuell mit einer 3CX v20 u2 das gewünschte Szenario durchspielen. Da gibt es mehr Möglichkeiten.
 
Eventuell mit einer 3CX v20 u2 das gewünschte Szenario durchspielen. Da gibt es mehr Möglichkeiten.

Von welchen Möglichkeiten sprichst du? Ist es möglich einen Anrufer aus der Warteschleife zu holen und davor ein Wahlton abzuspielen? Habe ich bei meinem V20 Test, als die Version neu erschienen ist, nicht gesehen. Kann ich mir nicht vorstellen, dass die PBX das hinbekommt.
 
Ok ich bin schon mal soweit, dass mein Telefon das über ein SBC läuft und meine 3CX Desktop App die richtige Anrufer ID bei einem eingehenden Anruf anzeigen. Dazu musste ich das Shell Script, dass durch Asterisk ausgeführt wird anpassen.

Das ist schon mal sehr hilfreich, damit ich weiss wer mich anruft und nicht das "1198" mich anruft! :D

Aber eben das Problem besteht weiterhin, dass die 1196 nicht durch die AnruferID ersetzt wird. Wie du schon sagst geht das wohl leider nicht, aber vielleicht fällt mir noch etwas ein, damit das Zusammenspiel zwischen 3CX und Asterisk funktioniert. Vielleicht könnte ich irgendwie eine Extension bauen, die das Heranholen auslöst und und den Anruf automatisch annimmt, auf einer Extension auf der der Teilnehmer und die 1196 gleichzeitig weitergeleitet werden, sodass es als "eingehender" Anruf zählt. Das mag wohl wichtig sein deiner Aussage zu Folge und wie ich gerade festgestellt habe.
 
Von welchen Möglichkeiten sprichst du? Ist es möglich einen Anrufer aus der Warteschleife zu holen und davor ein Wahlton abzuspielen?
ja, beides, das denke ich, weiss es aber (noch) nicht

Ich rede hier aber nicht vom CFD sondern von einem direkt programmierten Anrufverarbeitungsskript. Damit ergeben sich ganz andere Möglichkeiten. Es fehlt der Community noch die Erfahrung und die eigenen Beispiele, um die Möglichkeiten der 3CX auszuloten. Da kommt sicher noch sehr viel in den nächsten Jahren.

Schau dir mal die div. vorgegebenen Beispiele an, angefangen mit dem hier. Da wird, wenn man es will, Audio parallel zur irgendeiner Ausführung abgespielt, Stichwort await.
 
Ich habe es soweit in Asterisk geschafft. Eine Menge Code und Unmengen an versuchen, um das zu erreichen, was ich erreichen wollte. Zunächst kam es zum Problem, dass Asterisk 2 Anrufe auf einer Extension gleichzeitig abnimmt. Lies sich schwer konfigurieren, soweit ich das beurteilen kann, da es eine 3CX Extension ist und und Asterisk die Nummer über die 3CX Bridge Master zu Asterisk routet. Bedeutet 3CX (11112 - Master Bridge) -> 1181 (prüft, ob Extension busy oder nicht) dazwischen noch ein Script, dass in einer Schleife prüft, ob die Extension den Wert busy=0 oder busy=1 gesetzt hat, wenn 0, abbrechen und zur nächsten Asterisk Extension wandern. Die letzte Extension ist die wichtigste, weil die alles für das Wählton etc. erhält. und einem Script, dass mein Cisco signalisiert, das in 3CX als Extension hinterlegt ist. Klingt alles wirr, ist es auch, du willst den Dialplan und die Scripts glaube ich nicht sehen! Der Vorteil: Die 3CX SCs werden nicht ausgeschöpft, sobald ich alles umgestellt habe, dass Asterisk der Haupttrunk ist, da Asterisk zuerst prüft, wie viele Anrufe sich auf der Extension befinden und somit erst mal ein StartMusicOnhold erhält mit dem Script, dass die Weiterleitung mit einem GoTo() zu Extension, dass alle Teilnehmer in die ConfBridge wirft, das Cisco signalisiert und mir ebenfalls den Wählton abspielt, bevor ich mit der Confbridge verbunden werde etc.

Du weisst, ich liebe es ebenfalls zu basteln und so lange es hält, nicht anfassen! ;)
Ich bin aber noch an der Optimierung, da ich keine ständigen Datenbankabfragen in den CLI Logs will. Muss ich mal schauen, wie ich das hinbekomme, ob das über eine AMI Session funktioniert in einer Schleife.

Mal Interessehalber: Würde das, was ich jetzt alles in Asterisk zusammengebastelt haben auch in 3CX funktionieren, wenn man da ein CFD Script zusammenbastelt? Wie du andeuten lässt, es gibt viel zu wenige Infos im Netz. Teilweise finde ich aber auch für Asterisk keine passenden Beiträge, da sich die Versionen bis heute wohl sehr unterscheiden.


ja, beides, das denke ich, weiss es aber (noch) nicht

Ich rede hier aber nicht vom CFD sondern von einem direkt programmierten Anrufverarbeitungsskript. Damit ergeben sich ganz andere Möglichkeiten. Es fehlt der Community noch die Erfahrung und die eigenen Beispiele, um die Möglichkeiten der 3CX auszuloten. Da kommt sicher noch sehr viel in den nächsten Jahren.

Schau dir mal die div. vorgegebenen Beispiele an, angefangen mit dem hier. Da wird, wenn man es will, Audio parallel zur irgendeiner Ausführung abgespielt, Stichwort await.

Darauf bin ich auch schon gestossen und habe das gesamte Example mal in ein CFD C Code kopiert, um zu sehen was geschieht - ERROR
 
Zuletzt bearbeitet:
Also funktioniert bis jetzt soweit, ausserdem geht der Anruf nun erst bei Asterisk ein, da ich dort meinen Trunk hinterlegt habe. Ich habe ausserdem folgende Regel: Es wird immer nur 1 Anruf zur 3CX geleitet, damit die SCs nicht ausschöpfen. Wenn 2 Anrufer auf Asterisk eingehen, wird der 2. Anruf gehalten, bis festzustellen ist, dass die Extension, die an 3CX weiterleiten soll, frei ist. Es gibt also mehrere Extensions, bevor es zu 3CX geht. Schon hat sich das SC Problem erledigt! :D Auch die Ansagen für Öffnungszeiten oder Rufnummerunterdrückung führt Asterisk aus und lasse diese Anrufe erst gar nicht zu 3CX. Klar kann das den Ein oder Anderen stören zwecks CDR Logs, aber ich führe einfach ein cURL zu meinem CRM aus, dort bekomme ich dann mit, dass ich angerufen wurde, doch ist diese Protokollierung für meinen Anwendungsfall irrelevant, da ich ohnehin nicht zurückrufen würde, selbst wenn ich könnte! :p
 

Statistik des Forums

Themen
44.413
Beiträge
232.714
Mitglieder
78.328
Neuestes Mitglied
as7h