ISDN Callcenter-Sammelruf auf Asterisk verarbeiten

_obelisk_

Neuer User
Mitglied seit
16 Jan 2008
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Hi!

Ich hoffe ich habe für mein Thema das korrekte Forum gewählt.
Bin mir nicht sicher, ob es ein Dialplanproblem ist...
Aber das könnt Ihr mir sicherlich beantworten ;)

Also, ich habe die folgende Konstellation:

- Asterisk ist via 3-fach S0 an eine ISDN Anlage gekoppelt.

- die 3 S0 Busse einer 4xBRI Karte (Eicon Diva 4 BRI Karte mit chan_capi)
sind mit 3 internen S0 Bussen der ISDN TK Anlage verbunden.

- Es wurde in der TK-Anlage ein Sammelruf für die MSN 1234 definiert

- Dieser Sammelruf wird auf die MSNNr. 1235, 1236 und 1237 innerhalb der TK Anlage verteilt.

- Diese drei Nummern werden nun auf je einen der drei S0 Busse der TK Anlage gelegt und somit an Asterisk weitergereicht.

- Asterisk 'lauscht' am anderen Ende der S0 Busse nun auf die Extension 123X. (Somit auf alle drei MSN)

- Diese Extension nimmt nun alle drei Anrufe zeitgleich entgegen und läuft für alle drei Anrufe den kompletten Dialplan durch.

- Jeder der drei Anrufe landet somit in der im Dialplan definierten Warteschleife.

- Bei einer Umleitung auf eine Voicebox, werden somit ebenfalls alle drei Anrufe entgegengenommen und aufgezeichnet. Ergebnis davon sind auch 3 verschieden Voicemails!

Da es sich ja um einen Sammelruf handelt, darf natürlich nur einer der eigentlichen drei Anrufe entgegengenommen werden!

Wie kann ich Asterisk nun beibringen, das er nur einen der Anrufe entgegennimmt und verarbeiten und die anderen beiden ignoriert ?


danke und Gruß
_obelisk_
 
Wie kann ich Asterisk nun beibringen, das er nur einen der Anrufe entgegennimmt und verarbeiten und die anderen beiden ignoriert ?

Woher soll Asterisk wissen das die drei Channels zusammen gehören?
Warum legt die TK bei dem Sammelruf nicht zwei channels auf, wenn einer der drei verbunden wird?
Wenn die TK Anlage kaputt ist kannst Du die Funktionalität in Asterisk verlegen. Mann kann programmieren das channels aufgehängt werden wenn einer angenommen wird.
Mann kann in Asterisk channels auf mehrere extensions signalisieren
DIAL(SIP/11&SIP/12&SIP13)
Der erste channel der ANSWER macht gewinnt, die anderen werden getrennt.
 
Woher soll Asterisk wissen das die drei Channels zusammen gehören?

Genau das ist der Punkt! Das muss ich Asterisk irgendwie beibringen,
das er eben die Rufnummern zusammenfasst und nur einen Anruf entgegennimmt.
Gibt es da eine Möglichkeit ?

Wenn die TK Anlage kaputt ist kannst Du die Funktionalität in Asterisk verlegen. Mann kann programmieren das channels aufgehängt werden wenn einer angenommen wird.

Ähmm, nein, kaputt ist die TK-Anlage nicht.
Sie hängt am S2M und hat einige Anlagentelefone, welche auch weiterhin verwendet werden.
Asterisk soll für die Nummer 1234 Caller entgegennehmen, sie in eine Warteschleife schicken und an eingeloggte Agenten weiterreichen.
Die TK Anlage kann leider nicht eine Nummer auf mehrer S0 Busse verteilen,
somit der Umweg über einen Sammelruf und drei Rufnummern!

Ich kann also die Funktion des Sammelanrufes nicht in Asterisk verlegen.
Sondern bekomme eigentlich 3 verschiedene Anrufe rein, welche ich irgendwie gruppieren muss, einen der drei annehmen und die anderen aufhängen!
 
Die TK Anlage kann leider nicht eine Nummer auf mehrer S0 Busse verteilen,
somit der Umweg über einen Sammelruf und drei Rufnummern!

Schein aber mehr ein Konferenzruf zu sein, wenn die TK die übrigen Channels nicht trennt.
einen der drei annehmen und die anderen aufhängen!
Nicht ganz oder, wenn schon ein Channel aus einem vorangegangenen steht soll der doch nicht getrennt werden, oder?
Wenn ich das richtig verstehe willst Du drei Leitungen haben, kannst aber immer nur auf allen drei Leitungen gleichzeitig signalisieren.
Wenn mehrere Channels auf RINGING stehen soll einer angenommen werden und die restlichen getrennt werden?
geht schon, musst Du aber ein paar Zeilen programmieren...
 
das mit dem Sammelruf macht ihr nur, weil euch ein S0-Bus zum Asterisk nicht reicht, oder?
max. 6 parallele Gespräche auf den drei Bussen würden aber reichen?

du darfst Gespräche auf dem Bus #2 nur dann annehmen, wenn ganz #1 belegt ist. #3 darf erst dann annehmen, wenn #1 und #2 belegt sind.
Nach dieser Logik sollte #2 erst dann ein Gespräch annehmen, wenn der erste S0-Bus ausgelastet ist (also den neuen Anrufer gar nicht signalisieren kann) usw.
 
Wenn mehrere Channels auf RINGING stehen soll einer angenommen werden und die restlichen getrennt werden?
geht schon, musst Du aber ein paar Zeilen programmieren...
Dacht ich mir ;) ... nur wie? habt Ihr einen Ansatzpunkt für mich??

das mit dem Sammelruf macht ihr nur, weil euch ein S0-Bus zum Asterisk nicht reicht, oder?
max. 6 parallele Gespräche auf den drei Bussen würden aber reichen?
Ja, und Ja! ;)

du darfst Gespräche auf dem Bus #2 nur dann annehmen, wenn ganz #1 belegt ist. #3 darf erst dann annehmen, wenn #1 und #2 belegt sind.
Nach dieser Logik sollte #2 erst dann ein Gespräch annehmen, wenn der erste S0-Bus ausgelastet ist (also den neuen Anrufer gar nicht signalisieren kann) usw.
Auch hier, ein JA! Wie ist es möglich Kanäle, bzw. deren Auslastung im dialplan zu überwachen und darauf dementsprechend zu reagieren?
 
Dacht ich mir ;) ... nur wie? habt Ihr einen Ansatzpunkt für mich??
z.B.
per AGI ein Script starten, mit show channels die channels anschauen und sortieren. Von den channels die auf RINGING stehen den ersten NICHT trennen, alle anderen trennen und dann im dialplan weitermachen.
Evtl. musst Du noch was wegen des simultanen Aufrufs des Scriptes aus verschiedenen Channels unternehmen.


Auch hier, ein JA! Wie ist es möglich Kanäle, bzw. deren Auslastung im dialplan zu überwachen und darauf dementsprechend zu reagieren?

Nicht ganz, Du brauchst nicht nur die Info ob ein peer vollständig ausgelastet ist, sondern musst zwischen RINGING und ANSWER der channels zu dem peer unterscheiden können. Channels die auf ANSWER stehen sollen eben nicht getrennt werden.
 
ganz anderer Ansatz: zeitliche Verzögerung.
Bus #1 nimmt sofort an, Bus #2 nach 3sek (Beispiel), Bus #3 nach 6sek.

wenn sichergestellt ist, dass ein Anruf auf #1 angenommen ist, bevor die nächste Instanz abnimmt, kann man sich sonstigen Aufwand eventuell sparen.
Wenn #1 und #2 belegt sind und weder signalisieren noch annehmen können, dann dauert die Annahme auf dem dritten Bus (ohne zusätzliche Prüfung) zwar minimal länger, das wäre aber sicher noch im Bereich des Zumutbaren.
 
Die zeitliche Verzögerung ist ein Ansatz, würde auch funktionieren!
Habe jetzt einfach für alle Extensions ein Wait eingefügt. Danke für dieses mögliche Workaround!
Problem ist nur die Belegung der Channels für eben diese Wartezeit.

Was ich davon unabhängig trotzdem nicht so ganz verstehe:
Wenn die drei Extensions 'angeklingelt' werden,
nimmt Asterisk den Call der ersten Extension an!

Damit sollten doch auch die anderen Calls auf den anderen Nummern direkt und unverzüglich gekappt sein! Da sie ja nun gar nicht mehr angeklingelt werden.

Das allerdings ist nicht der Fall. Die anderen Calls bleiben weiterhin aktiv und werden in die Warteschleife geschickt.

Erst nach einigen Sekunden, werden diese Calls gekappt.
Bei aktivierter Voicebox, kommt es erst gar nicht zum kappen, weil die Zeitspanne wahrscheinlich zu knapp ist.
 
Erst nach einigen Sekunden, werden diese Calls gekappt.
Bei aktivierter Voicebox, kommt es erst gar nicht zum kappen, weil die Zeitspanne wahrscheinlich zu knapp ist.

Asterisk weiß nicht das diese channels zusammengehören.
Die olle TK Technik muss die channels kappen und das Asterisk mitteilen.
Ob Asterisk trödelt könntest Du debuggen, aber wahrscheinlich ist in der TK eine billige CPU eingebaut die zu langsam ist.
 
Gibt es den eine andere Möglichkeit,
eine MSN (=1234) auf mehrere S0 Busse zu verteilen? Wenn Die TK das nicht nativ beherrscht?!

Oder gibt es eine Möglichkeit, z.B. auf einem Channel erstmal alle Calls der MSN 1234 entgegen zunehmen und den Caller dann je nach Resourcenauslastung auf einen anderen freien Channel zu 'übertragen' ?

Müsste ich wahrscheinlich über ECT, o.ä lösen?!

Hat da noch jemand ne Idee?

DANKE und Gruß
_obelisk_
 
evtl. kann Deine olle TK call deflection und Du hast eine ISDN Karte im Asterisk Rechner die das auch kann.

Nimm besser die olle TK als Adapter für die Systemtelefone, zu mir scheint sie nicht zu taugen.

Ansonsten sollte das Problem wie bereits vorgeschlagen mit dem AGI Script zu lösen sein.
 
Was ist das denn für eine Anlage?
Normalerweise sollte eine so eine Anlage fähig sein, einen Punkt-zu-Punkt Anschluss zu bedienen, dann muss man auch nicht sowas umständliches machen...

Mario
 
Kostenlos!

Statistik des Forums

Themen
248,897
Beiträge
2,303,575
Mitglieder
378,535
Neuestes Mitglied
Richbrothers brotherhood