(gelöst)computergestütztes telefonieren über asterisk möglich oder nicht?

Status
Für weitere Antworten geschlossen.
Hallo birnerseff,

-sh: telnet: not found
In der busybox vom Fli4L ist wahrscheinlich der telnet-Befehl nicht drin.

Hallo Netview:

meine manager-conf:
Code:
[general]
enabled = yes
port = 5038
bindaddr = 0.0.0.0
;displayconnects = yes

[root]
secret = mein PW aus der base.txt
deny=0.0.0.0/0.0.0.0
permit=192.168.0.0/255.255.255.0
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user
;
; If the device connected via this user accepts input slowly,
; the timeout for writes to it can be increased to keep it
; from being disconnected (value is in milliseconds)
;
; writetimeout = 100
;
; Authorization for various classes 
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user
Grüße
Günter
 
Zuletzt bearbeitet:
Also entweder schreibst du das so:

permit=192.168.115.0/255.255.255.0

oder so:

permit=192.168.0.0/255.255.0.0
 
Hallo Netview,

habe beide Varianten ausprobiert, erfolglos.
Hier sind noch 2 XP-Clients im LAN, von beiden auch telnet-Verbindung fehlgeschlagen.
Der Port 5038 ist doch ein UDP-Port, oder vielleicht nicht? Habe aber auch schon in der Firewall TCP und UDP weitergeleitet, geht trotzdem nicht. Ich bekomme zum Fli4l-Router resp. Asterisk überhaupt keine telnet-Verbindung hin.

Hast Du noch irgendeine andere Idee?

Viele Grüße
Günter

EDIT:
habe jetzt mal Knoppix geladen; das gleiche negative Ergebnis:
Unable to connect the remote host: Connection refused
 
Zuletzt bearbeitet:
Hallo, nach zwei Stunden folgendes Ergebnis: immer noch erfolglos, aber ein paar Warnungen:

Code:
fli4l*CLI> reload
Feb  4 21:38:41 WARNING[13555]: config.c:502 process_text_line: parse error: No category context for line 1 of manager.conf
Feb  4 21:38:41 NOTICE[13555]: manager.c:1776 init_manager: Unable to open management configuration manager.conf.  Call management disabled.

fli4l*CLI>

Vielleicht hilft das ja weiter bei der Lösung des Problems. Ich jedenfalls bin nahe daran, das Handtuch zu werfen. :-(

Viele Grüße
Günter

STOPPP!
EDIT1:
Habe was gefunden:

ich hatte in der Eile des Gefechts in die Manager.conf als oberste Zeile eine "5" eingetragen --> das ist ganz natürlich falsch! Und immer wieder mitgeschleift, es ist doch zum auswachsen!

Jetzt kann ich in der Dos-Box sehen:

Asterisk Call Manager/1.0!! Freu, freu... :) :)

Nun geht aber die Arbeit erst los...

EDIT2:
Ungeachtet dessen ist aber in den Instruktionen ein Fehler drinnen, den Netview bereits nannte:

Auszug aus der instructions-start.mht:

Code:
deny=0.0.0.0/0.0.0.0

permit=192.168.0.0/255.255.255.0


das ist so nicht richtig, vielmehr sollte es so ausehen wie Netview in #22 geschrieben hat.
 
Zuletzt bearbeitet:
Das hast du doppelt:
Code:
read = system,call,log,verbose,command,agent,user
write = system,call,log,verbose,command,agent,user


Einmal reicht!
 
Danke Netview,
habs gelöscht!

Nun aber bitte weiter:
in der Tapi-Konfiguration wird nach User Channel und Line Name gefragt, was muss dort rein?

User Channel – this is the your extension, it terms of the channel name in my case it is Sip/nick
 
Hallo Netview;
in der Diplomarbeit habe ich die entsprechenden Passagen gelesen. Bei dem Diplomanden ist der User Channel SIP/555, ich habe aber nur ZAP-Geräte. Hier fehlt mir noch ein Hinweis, wie dieser Eintrag aussehen muss. In meiner extensions-conf steht z. B.

Code:
[external-ISDN_eingehend]
exten => 3312,1,Dial(ZAP/g1/111,45,r)
exten => 3312,2,Hangup

Was davon ist zu gebrauchen, oder muss eine neue Extension gebaut werden?
Es soll ja zuerst mein internes Telefon (11 an der internen MSN 111) klingeln (nicht wie angegeben die externe MSN 3312), dann nach dem Abnehmen soll die Verbindung zum externen Teilnehmer hergestellt werden.

viele Grüße
Günter
 
Zuletzt bearbeitet:
Hallo;
@ Netview:
ich habs geschafft, eben das erste Telefonat aus Outlook heraus über VoiP initiiert! Die Diplomarbeit war der ganz entscheidende Tipp! Wenn ich Dich nicht hätte... vielen Dank! :-D

Aber auch großen Dank an birnerseff für den Tipp mit der Firewall. :)

Jetzt das Ganze nochmals trainieren, bei allen Kontakten die Telefon-Nnummern umfrisieren (weil bei mir Voip mit "9" rausgewählt wird und ISDN mit "0". Es ist eben bei uns zuhause hier Tradition so und in allen Telefonen so einprogrammiert. Vielleicht fällt mir aber noch etwas besseres ein... vielleicht umkehren? "0" für VoIP und "9" für ISDN, dann würde sogar das CLIP-Rückrufen funktionieren. Na,mal sehen, was die Frau dazu sagt...

Nochmals vielen Dank an alle; ich hätte nicht gedacht, dass meine vage Idee Realität werden kann.

Viele Grüße
Günter

EDIT:
es tut sich aber noch ein kleines Problem auf:
der SIP-channel bleibt offen, wenn das Gespräch beendet wird. Es findet KEIN Traffic mehr statt, aber putty zeigt

Code:
fli4l*CLI> sip show channels
Peer             User/ANR    Call ID      Seq (Tx/Rx)  Form  Hold     Last Message
85.214.61.130    0049xxxxxx  7983a0b1544  00103/00000  unkn  No       Tx: ACK
1 active SIP channel

Outlook macht nichts, wenn ich auf Gespräch beenden klicke. Gibts dafür eine Lösung?
 
Zuletzt bearbeitet:
Mit diesen Parametern in der sip.conf unter [general] kann man hängende Verbindungen terminieren:

rtptimeout=60
rtpholdtimeout=90

Die Zeiten kannst du entsprechend varieren!

Zum anderen prüfst du den dial-status?

exten => ...,1,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?3:2)
exten => ...,2,GotoIf($["${DIALSTATUS}" = "BUSY"]?4:5)
exten => ...,3,Congestion
exten => ...,4,Busy
exten => ...,5,Hangup
 
Hallo Netview;
bisher habe ich keines von allen Deinen angegebenen Dingen realisiert. Ich habe es bisher nicht gebraucht.

Die Zeilen in die sip.conf einfügen macht mir kein Problem; aber was soll ich mit den exten => Zeilen tun? Einfach in meine extensions.conf reinkopieren und mal sehen, was passiert?
 
Zuletzt bearbeitet:
Die Zeilen hinter dein dial(...) kopieren und die Sprungmarken korrekt setzen!
 
Hallo Holger;
habe alles so eingefügt und es scheint auch zu funktionieren. :D

Richtig testen kann ich es aber erst morgen, meine Kinder schlafen schon alle.
Vielen Dank für die Hinweise.
 
Hallo Holger;
ich würde heute gern testen, ob die von Dir vorgeschlagenen Änderungen in meiner extensions.conf auch funktionieren. Wie kann ich das tun?

Ich mache hier dazu einen Auszug aus meiner extensions.conf und bitte Dich, kurz drüberzuschauen:

Code:
[general]
static=yes
writeprotect=no

[globals]

[external-ISDN_ausgehend]
exten => _0X.,1,Set(CALLERID(number)=3312) ; abgehende MSN 
exten => _0X.,2,Dial(Capi/contr1/0${EXTEN:1}/Bo,,Ttr)
exten => _0X.,3,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?3:2)
exten => _0X.,4,GotoIf($["${DIALSTATUS}" = "BUSY"]?4:5)
exten => _0X.,5,Congestion
exten => _0X.,6,Busy
exten => _0X.,7,Hangup
...
...
...
[DIALSTATUS]
exten => NOANSWER,1,Set(LANGUAGE()=de)
exten => NOANSWER,2,Playback(vm-nobodyavail)
exten => NOANSWER,3,Congestion()
exten => NOANSWER,4,Wait(10)
exten => NOANSWER,5,Hangup()

exten => BUSY,1,Set(LANGUAGE()=de)
exten => BUSY,2,Playback(tt-allbusy)
exten => BUSY,3,Congestion()
exten => BUSY,4,Wait(10)
exten => BUSY,5,Hangup()

exten => CHANUNAVAIL,1,Set(LANGUAGE()=de)
exten => CHANUNAVAIL,2,Playback(tt-somethingwrong)
exten => CHANUNAVAIL,3,Congestion()
exten => CHANUNAVAIL,4,Wait(10)
exten => CHANUNAVAIL,5,Hangup()

exten => CONGESTION,1,Set(LANGUAGE()=de)
exten => CONGESTION,2,Playback(vm-nobodyavail)
exten => CONGESTION,3,Congestion()
exten => CONGESTION,4,Wait(10)
exten => CONGESTION,5,Hangup()
...
...
...
[default]
include => DIALSTATUS
...
...

Vielen Dank für Deine Zeit.

Grüße
Günter
 
so sollte es sein:
Code:
[external-ISDN_ausgehend]
exten => _0X.,1,Set(CALLERID(number)=3312) ; abgehende MSN 
exten => _0X.,2,Dial(Capi/contr1/0${EXTEN:1}/Bo,,Ttr)
exten => _0X.,3,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?5:4)
exten => _0X.,4,GotoIf($["${DIALSTATUS}" = "BUSY"]?6:7)
exten => _0X.,5,Congestion
exten => _0X.,6,Busy
exten => _0X.,7,Hangup
 
Ahhh, ich habe es begriffen; jetzt weiß ich, was Du mit Sprungmarken meintest. :)

Jetzt kann ich das auch noch nach CHANUNAVAIL ausbauen...

Danke und viele Grüße
Günter
 
Hallo alle,
ich habe jetzt die Hinweise alle eingepflegt und will sagen, dass alles soweit funktioniert.
Nur eines habe ich als "Perfektionist" noch nicht so richtig im Griff:
Im Outlook kann ich ein Gespräch erfolgreich beginnen, aber nicht beenden.

Konkret sind dort zwei Buttons, ganz links der für "Anruf beginnen" und rechts daneben der für "Anruf beenden". Der Button "Anruf beginnen" löst die richtige Funktion aus, d. h. mein Telefon klingelt, ich hebe ab und werde mit meinem "Kontakt" verbunden. Nur das "Auflegen" mittels Outlook durch klicken des Buttons "Anruf beenden" funktioniert nicht. Ich muss das Telefon auflegen und den "Kontakt" schließen; wenn ich danach einen neuen "Kontakt" öffne, behauptet Outlook, dass immernoch ein Gespräch besteht und fragt, ob ich dieses beenden will. Dazu klicke ich "Ja", und danach kann ich dann wiederum mit "Anruf beginnen" weiter telefonieren. Wobei dann aber wiederum das "Anruf beenden" nicht funktioniert. Ich kann zwar den Button "Anruf beenden" klicken, er wird auch ausgegraut, bleibt aber grau und es tut sich weiter nichts.
Ich mache also etwas falsch.

Weiß bitte einer Rat?

Vielen Dank und viele Grüße
Günter
 
Hallo,

anscheinend ist das Modell der Kontrolle, die TAPI über ein Telefon ausübt, für intelligente Telefone nicht ganz passend :) (aber dafür sieht die Spez. sogar vor, den Abstand zwischen den Ziffern einzustellen)
Ich hab es jedenfalls geschafft, dass Asterisk auf Befehl ein Gespräch beendet .... aber mein Telefon reagiert mit nervigem Tuten und "bitte Hörer auflegen", so dass ich Gespräche eben lieber ohne Rechnerhilfe beende.
Dasselbe könnte Dir, je nach Telefon, auch passieren.

Was möglicherweise fehlt (steht zumindest über den Quelltexten von asttapi so) ist der Empfang von Rückmeldungen - es könnte ja auch der Angerufene das Gespräch beenden

birnerseff
 
Hi birnerseff,
kannst Du bitte ein paar Zeilen code posten, WIE Du es geschafft hast, dass Asterisk ein Gespräch auf Befehl beendet? Vielleicht kann man ja daraus ein paar Schlussfolgerungen ziehen... ;-)

Viele Grüße
Günter
 
Hallo,

leider nicht ein "paar Zeilen Code", dazu ist das zu komplex, sondern nur Anregungen.
Das ganze basiert - wie auch asttapi - auf dem Asterisk Manager.
Du meldest Dich also einfach mal per telnet auf port 5038 an und gibst dann folgendes ein
Action: login
username: **** .... wie in deiner manager.conf
secret: ****
--- und noch einmal Return zusätzlich ---
Action: status
--- und noch einmal Return zusätzlich ---
und schaust Dir dann die Ergebnisse an.
Wenn du gerade telefonierst und das eigene Telefon z.B. SIP/phone1 ist, sollten da Einträge auftauchen mit zB. SIP/phone1-3f7
Und jetzt
Action: hangup
Channel: SIP/phone1-3f7
--- und noch einmal Return zusätzlich ---
bingo!

Achtung: wenn das Telefon multiline fähig ist, wird es kompliziert ..... ansonsten kannst Du das Prinzip in einer Programmiersprache Deiner Wahl als eigenständiges Progrämmchen realisieren.
Eine reale Anwendung würde entweder dauernd oder zumindest nach dem Start des Anrufs verbunden bleiben und erhält dann auch Status Meldungen wenn sich etwas ändert.

birnerseff
 
Status
Für weitere Antworten geschlossen.
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.