[Frage]CallerIDName per Asterisk Manager API setzen

tosh

Neuer User
Mitglied seit
23 Feb 2005
Beiträge
53
Punkte für Reaktionen
0
Punkte
0
Hallo verehrte Foren-Mitglieder,
ich habe ein kleines Problem bei der Realisierung einer Anbindung unserer Telefonanlage an unser CRM-System. Wir verwenden eine Asterisk-basierende Astimax-Telefonanlage und Snom 360-Telefone mit Firmware 7.3.7.
Wir möchten, dass die Telefonanlage bei einem eingehenden Anruf im CRM-System nach dem Namen des Anrufers sucht und diesen als Anrufer (CallerIDName) anzeigt. Wir haben leider keinen Vollzugriff auf Asterisk, jedoch einen Zugriff über den Asterisk Call Manager Proxy.
Ich habe versucht, die Variable "CallerIDName" eines bestimmten Kanals beim Event "Newstate" zu setzen und erhalte dann auch eine "Success"-Meldung. Die Telefone zeigen jedoch weiterhin die alte Information an (die Astimax sendet bei externen Anrufern die Caller ID + die angerufene Nebenstelle als CallerIDName). Ich kenne mich mit dem SIP leider gar nicht aus. Wo könnte das Problem liegen?

Ich bin für jede Hilfe dankbar.

Gruß Thorsten
 
welches crm verwendet ihr? ist das über http-requests abfragbar? dann könntest du z.b. im dialplan über die CURL-funktion einen http-request an diese schnittstelle des crms senden. wird ein name zurückgeliefert, so wird dieser gesetzt:
Code:
...
[inbound]
exten = s,1,NoOp(Incoming call from ${CALLERID(num)})
exten = s,n,Set(CALLERID(name)=${CURL(http://crm-server/get_name_from_number.php?number=${CALLERID(num)})})
exten = s,n,...
das php-script connectet sich z.b. auf die crm-db und sucht sich den namen der person, gibt diesen zurück oder halt einen leeren string, wenn nicht gefunden.

eine weitere möglichkeit wäre, das über ein AGI script zu realisieren. beides geht aber nur dann, wenn das crm von aussen abfragbar ist, also über schnittstellen verfügt. ansonsten wäre basteln angesagt...

das über die manager-schnittstelle zu realisieren find ich persönlich jetzt ein wenig "unsexy".



grüße,
laureen
 
Leider kein Vollzugriff

Hallo,

vielen Dank für die Antwort, aber wie im Ausgangspost beschrieben habe ich leider keinen Vollzugriff auf meine Asterisk Anlage. Der Hersteller behält sich den Root-Zugriff vor, sorgt dafür aber auch für den reibungslosen Betrieb.

Ich kann nur über die Asterisk Manager API zugreifen. Meine Vorstellung bestand darin, einen Dienst für unseren Webserver zu schreiben, der über das Asterisk Manager API alle Calls beobachtet, bei eingehenden Anrufen im CRM nach dem richtigen Namen sucht und dann über ebenfalls wieder über die API die CallerIDName-Variable für den Channel setzt. Ich habe das manuell probiert, leider scheint das setzen der Variable keine Auswirkungen auf die Signalisierung an das Telefon zu haben. Da stellte sich mir die Frage, ob der Ansatz grundsätzlich funktionieren könnte.

Die ganze Angelegenheit steht schon als Minibrowser-Applikation für die Snoms, die Routinen für die Datenbankabfragen, Aufbereitung der Ergebnisse etc. sind also schon fertig. Leider gibt es bei diesem Ansatz eine winzige Einschränkung, mit der ich leider schlecht leben kann.

Wir setze übrigens das Microsoft Dynamics CRM 4.0 ein.

Gruß Thorsten
 
Zuletzt bearbeitet:
Ich denke mal, wenn im Dialplan sowas nicht explizit vorgesehen ist, wirst du das per AMI wohl nicht hinbekommen. Bevor dein AMI Skript da noch reagieren könnte, sind die Infos schon beim Telefon und in den aktuellen Versionen ist ein Update der Peer-Infos noch nicht vorgesehen - es gibt da zwar patches für, aber ob das im 1.6 bereits implementiert wird, weiß ich nicht...

Mario
 
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.