selbst wählen sperren, und automatisch wählen lassen

Blackmore

Neuer User
Mitglied seit
2 Feb 2005
Beiträge
166
Punkte für Reaktionen
0
Punkte
0
Liebe IPPF-Gemeinde,

ich möchte für meinen Asterisk eine Funktion einfügen, bei der die User
a) Auswählen können, wer sie alles anrufen darf
b) Anrufe zeitgesteuert erlauben, verbieten...
c) Anrufe über Webinterface initiieren...

a und b sind kein Problem - nur bei c hängt es...

mit ORIGINATE... kann ich über die CLI einen Verbindung zwischen Anrufer und Angerufenen einleiten... Leider ist es für die User noch immer möglich, das sie sich selbst anrufen, in dem sie halt die Nummer des anderen wählen..
Ich möchte aber ein wählen rein nur über eine Weboberfläche erlauben, selbst eingeleitete Gespräche sollen entweder komplett geblockt werden, oder aber mit einer Ansage, das diese Funktion nicht erlaubt ist, beenden.

Was muss ich wie wo einstellen, das das funktioniert??? (Zeitsteuerung und Userfreigaben kann ich dann auch mit reinbasteln)

Gruß Blacky
 
Alle Prüfungen was erlaubt ist und was nicht im Webinterface (zb. via PHP) durchführen und wenn alles passt ein entsprechendes Callfile schreiben?
 
wie???

das Problem besteht darin, das der User selbst auswählen darf, welche Leutz ihn anrufen dürfen, und das jederzeit ändern kann. Genau wie die Zeiten...

Ich bestimme nur, das der User selbst nicht wählen DARF, soindern über die Weboberfläche gehen MUSS..

Gruß Blacky
 
Wenn Du über das Webinterface sagen willst:

Rufnummer A (von Deinem User) ruft Rufnummer B an

(so habe ich Dich verstanden), musst Du doch nur noch validieren (auf dem Webserver), ob Rufnummer B zu einem User von Dir gehört.

Falls Nein, ist der Anruf zulässig.
Falls Ja, ist der Abruf zulässig, wenn Rufnummer A bei User B erlaubt ist, und die Anrufzeit zu den Zeiten von B passt.
Sofern diese Daten in einer Quelle (z.B. DB) liegen, auf die Du vom Webserver Zugriff hast, ist das Ganze eine relativ leichte Übung in PHP oder Perl oder einer anderen Sprache Deiner Wahl.

Oder habe ich hier Deine Problemstellung völlig falsch interpretiert?
 
Falls Nein, ist der Anruf zulässig.
Falls Ja, ist der Abruf zulässig, wenn Rufnummer A bei User B erlaubt ist, und die Anrufzeit zu den Zeiten von B passt.
Sofern diese Daten in einer Quelle (z.B. DB) liegen, auf die Du vom Webserver Zugriff hast, ist das Ganze eine relativ leichte Übung in PHP oder Perl oder einer anderen Sprache Deiner Wahl.

Oder habe ich hier Deine Problemstellung völlig falsch interpretiert?

Falls nein - dann ist der Anruf unzulässig... ich denke Schreibfehler

Die Problemstellung ist vollkommen richtig interpretiiert - aber leider nicht vollständig-...

Das ich via Webinterface validieren muss, ist klar... aber wie kann ich dem User A verbieten, direkt mit seinem Telefon die Nummer von User B zu wählen...

Wenn ich die Extension aus der extension.conf rausnehme, können die User sich gegenseitig nimma anrufen - aber auch über "originate" funktioniert es nicht mehr... Ist die Extension drinne, können die User selbst anrufen, was ich unterbinden will - und aufgrund des Systems auch unterbinden MUSS..


Gruß Blacky

Also, die Problemstellung nochmal:

User A soll User B unter bestimmten Vorraussetzungen via Klick auf einen Link anrufen - das soll so geschehen, das zuerst User A angerufen wird, wenn der seinen Hörer abnimmt, wird User B angerufen. Nimmt dieser ab, werden die beiden Gespräche zusammengeführt (Originate-Befehl)
Jedoch soll es den Usern unmöglich sein, selbst auf dem Telefon die Nummer des anderen User zu wählen und dann mit diesem verbunden werden... Es MUSS und DARF nur über das Webinterface möglich sein, ein Gespräch auf zu bauen...
 
Falls nein - dann ist der Anruf unzulässig... ich denke Schreibfehler

Nach Deiner Beschreibung kein Schreibfehler: Wenn die Zielrufnummer eine beliebige Rufnummer ist, die nicht zu einem User von Dir gehört, darf sie über das Webinterface angeufen werden (laut Deiner Beschreibung)

Zum Selberwählen:
Wenn das verboten ist, dann entweder den Usern keine SIP-Accounts geben oder einen Context zuweisen, der beliebige Rufnummern verwirft.

Zum Originate:
Den (mit entsprechenden Kontexten) nur auslösen, wenn die zu prüfenden Bedingungen aus den Daten des Webinterfaces eingehalten sind.

Der Knackpunkt ist hier, dass die User-Contexte und die Contexte für das Originate verschieden sein müssen (Originate erlaubt den Call, der User-Context verbietet ihn), damit erreichst Du dein Ziel (Prinzip):

Code:
[user]
exten => _X.,1,Hangup

[webinterfaceA]
exten => _X.,1,Dial(SIP/Provider/${EXTEN})

[webinterfaceB]
exten => _X.,1,Dial(SIP/Provider/${EXTEN})

Das Originate dazu

Code:
Action: Originate
Channel: Local/TeilnehmerA@webinterfaceA/n
Exten: TeilnehmerB
Context: webinterfaceB
Priority: 1

Und in der sip.conf bei den Usern:

Code:
context=user
 
Nach Deiner Beschreibung kein Schreibfehler: Wenn die Zielrufnummer eine beliebige Rufnummer ist, die nicht zu einem User von Dir gehört, darf sie über das Webinterface angeufen werden (laut Deiner Beschreibung)

Ok, da hab ich mich missverständlich ausgedrückt... sorry - aber kein Problem..

das andere Teste ich gleich aus...

genau was ich wollte... DANKE

Danke erstmal für die Tips, das mit den Contexten hab ich noch nicht so ganz raus...

gruß Blacky
 
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.