WebSocket AMI verbindung steht, keine Antwort auf Befehle

Konfigurationsdiskussionen bei Asterisk direkt

Moderatoren: rainer, Tim

Antworten
rjohann
Anfänger
Beiträge: 2
Registriert: Mi 18. Dez 2013, 17:29

WebSocket AMI verbindung steht, keine Antwort auf Befehle

Beitrag von rjohann »

Ich versuche seit Stunden einen Response vom AMI über WebSocket zu bekommen, was aber nicht funktioniert.

Der WebSocket-Handshake wird gemacht, die Verbindung ist auch offen, aber ich bekomme auf keinen Request einen Response.
Im CLI wird nicht angezeigt, dass überhaupt was passiert/Daten eingehen.

Code: Alles auswählen

var socket = new WebSocket("ws://xxx.xxx.xxx.xxx:8080/ws", "sip");

socket.onmessage = function() {
     console.log(arguments);
}

socket.send("Action: Login\r\nUsername: foo\r\nSecret: bar\r\n\r\n");
Über den HTTP Raw Manager kann ich mich einloggen, auch weitere Requests/Actions abfeuern und bekomme entsprechende Responses.
Das ganze löst im CLI im Verbose-Mode Statusnachrichten aus.

Setup (auszüge aus dem CLI)

Code: Alles auswählen

asterisk2*CLI> manager show settings

Global Settings:
----------------
  Manager (AMI):             Yes            
  Web Manager (AMI/HTTP):    Yes            
  TCP Bindaddress:           192.168.0.81:5038
  HTTP Timeout (minutes):    60             
  TLS Enable:                No             
  TLS Bindaddress:           Disabled       
  TLS Certfile:              asterisk.pem   
  TLS Privatekey:                           
  TLS Cipher:                               
  Allow multiple login:      Yes            
  Display connects:          Yes            
  Timestamp events:          Yes            
  Channel vars:                             
  Debug:                     Yes            
  Block sockets:             No


asterisk2*CLI> http show status
HTTP Server Status:
Prefix: 
Server Enabled and Bound to 0.0.0.0:8080

Enabled URI's:
/httpstatus => Asterisk HTTP General Status
/phoneprov/... => Asterisk HTTP Phone Provisioning Tool
/amanager => HTML Manager Event Interface w/Digest authentication
/arawman => Raw HTTP Manager Event Interface w/Digest authentication
/manager => HTML Manager Event Interface
/rawman => Raw HTTP Manager Event Interface
/static/... => Asterisk HTTP Static Delivery
/amxml => XML Manager Event Interface w/Digest authentication
/mxml => XML Manager Event Interface
/ws => Asterisk HTTP WebSocket

Enabled Redirects:
  None.
Benutzeravatar
rainer
Profi
Beiträge: 183
Registriert: Di 17. Nov 2009, 20:18
Wohnort: Bonn
Kontaktdaten:

Re: WebSocket AMI verbindung steht, keine Antwort auf Befehl

Beitrag von rainer »

Hallo,

kannst du mir mal die http.conf und die manager.conf posten?
Der default http Port ist eigentlich der 8088 oder möchtest du was mit WebRTC machen?

Ich bin mir hier nicht 100% sicher aber das mit dem ws://xxx.xxx.xxx.xxx:port/ws kenne ich nur aus dem WebRTC und dafür muss in der sip.conf der transport=udp auf transport=udp,ws,wss eingestellt werden.
wss steht für secure websocket.

:roll:
Link zu einer WebSocket/WebRTC Howto: https://wiki.asterisk.org/wiki/display/ ... TC+Support
Link zu einer AJAM Howto: http://das-asterisk-buch.de/1.6/manager ... -ajam.html

Mein Websocket/WebRTC Projekt aus dem Jahr 2012 läuft noch auf der Adresse http://webrtc.soho-piper.de/ !!! Chrome Browser only !!!
Der Websocket/WebRTC Server ist aber ein node.js Server da mir bis jetzt der opus audio-codec und VP8 video-codec im asterisk gefehlt haben.
Jetzt, da die asterisk Version 12 beide codece unterstützt, werde ich mich nochmal an das Thema Websocket/WebRTC over asterisk geben.

Den source Code für den node.js Websocket Server gibt es auf meiner Seite unter http://www.soho-piper.de/?p=1541
Der Client source code kannst du die hier saugen ... http://webrtc.soho-piper.de.


Gruß
Rainer
Rainer Piper - Bonn - 0228 97167161 or SIP-URI: sip:7000@sip.soho-piper.de:5072
Software: kamailio 4.2.0 -> Asterisk 13.0.1 mit pjsip stack
Hardware: 2x QuadCore, 128GB ECC-RAM, 4x HDD Raid 10
rjohann
Anfänger
Beiträge: 2
Registriert: Mi 18. Dez 2013, 17:29

Re: WebSocket AMI verbindung steht, keine Antwort auf Befehl

Beitrag von rjohann »

Danke für die schnelle Antwort.
Das Thema hat sich erledigt, als ich in den Kommentaren zum WebRTC-Wiki gelesen habe, dass das AMI per WebSocket nicht verfügbar ist.
Eigentlich hatte ich vor die Events des AMI per WebScoket auszulesen um eine Art Anrufliste mittels HTML5 zu entwickeln.
Antworten