Per Call-File mehere SIP-Endgeräte anrufen.

SebMoe

Neuer User
Mitglied seit
30 Jan 2007
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hi,

ich verwende die Funktionalität der Call-Files um Fehlernachrichten auf das Display des SIP-Endgerätes zu schicken. Dafür habe ich ein Programm geschrieben das bei einer I/O Karte den Zustand ausließt. Liegt dort nun eine 1 an wird per FTP ein Call-File in die Queue der Asterisk geschickt. Dies geht aber leider zurzeit nur für ein Endgerät.

Mein Call-File sieht wie folgt aus:

Code:
Channel: SIP/280
Callerid: Test
MaxRetries: 2
RetryTime: 30
WaitTime: 10
Context: call-file
Extension: 10

Dadurch wird das Endgerät mit der Nummer 280 angerufen und auf dem Display erscheint als Anrufer die Fehlermeldung. In diesem Fall "Test". Ist es möglich mit einem Call-File mehrere Endgeräte anzurufen.

Ich habe da an sowas wie eine Gruppe gedacht in der alle SIP Endgeräte sind und die ich dann per Call-File anrufe. Gibt es so eine Funktionalität bei der Asterisk?

Danke im Voraus.

mfg
sebmoe
 
ich hab das zwar noch nicht getestet, aber probier doch mal mit dem LOCAL Channel anstatt mit SIP im Callfile zu testen.

Dann kannst Du in der extensions.conf festlegen, welche Geräte alle bei Aufbau des LOCAL Channels angewählt werden.

Weitere Informationen zum LOCAL Channel findest Du hier im Forum (Suchfunktion) oder auf www.voip-info.org
 
Zuletzt bearbeitet:
Also ich hab das jetzt mal mit dem Local Channel probiert.

Mein Call-File sieht wie folgt aus:

Code:
Channel: Local/1000@call-file
Callerid: test
MaxRetries: 1
RetryTime: 30
WaitTime: 20
Context: call-file
Extension: 10

Dazu meine Extensions.conf:

Code:
[call-file]

exten => 1000,1,DIAL(SIP/280&SIP/283&SIP/281)
exten => 1000,n,Playback(tt-monkeys)
exten => 1000,n,Wait(1)
exten => 1000,n,Hangup()

So klingeln zwar alle Telefone aber sobald einer das Gespräch annimmt hören die anderen Telefone auf zu klingeln. Es wäre aber besser wenn die Telefone einfach weiterklingeln würden damit jeder Benutzer einseln rangehen muss.
Gibt es da vielleicht eine Möglichkeit dies in der extensions.conf zu definieren?

Danke für Tipps.
 
Dein Ansatz war doch schonmal ganz gut ;) aber nun denken wir einfach mal ein bißchen weiter :mrgreen:

Was passiert, wenn Du in der extensions.conf bei 1000@call-file nicht per SIP wählst, sondern auch wieder LOCAL/xyz ?

Code:
[call-file]
exten => 1000,1,dial,LOCAL/1280&LOCAL/1283&LOCAL/1281

[local] ; der Einfachheit halber mal für alle 10 Teilnehmer 280-289
exten => _128X,1,Dial,SIP/${EXTEN:1}
exten => _128X,n,Playback,tt-monkeys
exten => _128X,n,Wait,1
exten => _128X,n,Hangup
 
Hm okay ich muss zugeben das klingt logisch ;) .

Aber leider hat es nichts gebracht. Da ist auch ein kleiner Fehler drinne. Nach dem Local/Nummer fehlt bei dir das @ mit dem Context. Aber der Effekt bleibt der gleiche. Sobald jemand das Gespräch annimmt hören alle anderen Telefone auf zu klingeln.

Werde wohl noch ein wenig probieren müssen. Aber für Tipps bin ich immer offen. :mrgreen:

mfg

Sebmoe
 
Da ist auch ein kleiner Fehler drinne. Nach dem Local/Nummer fehlt bei dir das @ mit dem Context

Das ist kein Fehler. Wenn da kein Context steht, wird die extension im Context [local] gesucht, deshalb hatte ich den in meinem extensions.conf Schnipsel mit angelegt ;)

Welchen Sinn soll es eigentlich haben, wenn 25 Leute gleichzeitig einen Anruf entgegennehmen sollen :gruebel: Es geht Dir doch in Deinem Eingangsposting nur darum, den Fehlertext als "Anrufername" an das Telefon zu übertragen. Und das passiert doch schon während des Klingelns an allen Telefonen?
 
Hmm also ich hab das ausprobiert ohne @local, aber da sucht er bei mir automatisch in default. Dort findet er natürlich nicht das was er sucht und meckert in der CLI rum.

Also der tiefere Sinn besteht darin das jeder Anrufer das Telefongespräch annehmen muss. Nur so kann ich sicher gehen das der Miarbeiter die Fehlernachricht auch wirklich wahr nimmt. Die Nachrichten dienen dazu, dass der Mitarbeiter weiß das es ein Problem gibt und er darauf etwas machen muss.
Wenn jetzt aber das Telefon aufhört zu klingeln hat er kein akustisches Signal mehr, sollte er aber dennoch den Anruf mitbekommen haben weiß er nicht um was für ein Fehler es sich handelte da in der Anruferliste der Endgeräte (Siemens SL75 WLAN) nur Asterisk@Servername steht, da der Anruf ja für ihn von der Asterisk kahm.

Vielleicht mach ich ja auch nen kompletten Denkfehler was diese Thematik angeht. Las mich da gerne berichtigen!
 
Dann bleibt nur entsprechend viele Calls anzulegen, denn wenn das Gespräch durchgestellt wurde dann ist der Call beendet.
 
Ist zwar keine schöne Lösung doch anscheinend wird es darauf hinaus laufen.

Vielleicht hat ja doch noch einer n Tipp. Aber als Workaround wäre es natürlich erstmal damit getan.

mfg

Sebmoe
 
Ich habe sowas mal mit einer Reihe von UTstarcom Telefonen gelöst, indem ich vom Asterisk mit SendText() eine Nachricht an mehrere Geräte geschickt habe. Das Telefon hat das Eintreffen der Nachricht auch akustisch signalisiert und zusätzlich blieb der blinkene Umschlag als Symbol für vorliegende neue Nachrichten auf dem Display aktiv.

Kannst Du nicht etwas ähnliches auf den Siemens TElefonen auch machen? oder die SMS Funktion von Asterisk nutzen um eine NAchricht an die Telefone zu schicken?

Die Lösung mit dem Anruf halte ich jedenfalls nicht für den besten Ansatz.
 
Das wäre natürlich ein weiterer Ansatz den ich mal überprüfe. Die Siemens Telefone haben so eine Messaging Funktion. Mal gucken was sich da abbilden lässt.

Vielen Danke erstmal für die schnelle Hilfe hier in diesem Forum.
 
Kostenlos!

Statistik des Forums

Themen
248,105
Beiträge
2,281,457
Mitglieder
377,314
Neuestes Mitglied
vtuner_replacement