H.Peters
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Posts posted by H.Peters
-
-
Hallo,
ich habe folgendes Problem:
ich versuche schon seit einiger Zeit CSTA-Kommandos an die SnomOne PBX zu senden. Dazu benutze ich folgendes VB-Programm, wie es hier von Matt Landis als Beispiel codiert ist:
Imports System.Text
Imports System.Net
Imports System.Net.Sockets
Public Class Form1
Public Sub CSTAPost()
Try
Dim PBX_Port As Int32 = 80
Dim PBX_IPAddress As IPAddress = IPAddress.Parse("192.168.1.119")
Dim TCP_Client As New TcpClient()
Dim TCP_Encoder As New UTF8Encoding
TCP_Client.Connect(PBX_IPAddress, PBX_Port)
Dim TCP_Stream As NetworkStream = TCP_Client.GetStream
Dim bytes(TCP_Client.ReceiveBufferSize) As Byte
Dim responseData As String
Dim message As String = "<?xml version=""1.0"" encoding=""UTF-8""?> <StartApplicationSession xmlns=""http://www.ecma-international.org/standards/ecma-354/appl_session/"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><applicationInfo><applicationID>MyApp</applicationID><applicationSpecificInfo><tns:SessionLoginInfo xmlns:tns=""http://www.pbxnsip.com/schemas/csta/login""><tns:userName>42</tns:userName><tns:password>passwort</tns:password><tns:domain>pbx.company.com</tns:domain><tns:sessionCleanupDelay>60</tns:sessionCleanupDelay></tns:SessionLoginInfo></applicationSpecificInfo></applicationInfo><requestedProtocolVersions><protocolVersion>http://www.ecma-international.org/standards/ecma-323/csta/ed3</protocolVersion><protocolVersion>http://www.ecma-international.org/standards/ecma-323/csta/ed4</protocolVersion><protocolVersion>http://www.ecma-international.org/standards/ecma-323/csta/ed5</protocolVersion></requestedProtocolVersions><requestedSessionDuration>180</requestedSessionDuration></StartApplicationSession>"Dim data As Byte() = TCP_Encoder.GetBytes(message)
TCP_Stream.Write(data, 0, data.Length)
TCP_Stream.Read(bytes, 0, CInt(TCP_Client.ReceiveBufferSize))
' Output the data received from the host to the console.
responseData = Encoding.ASCII.GetString(bytes)
CSTAResponseData.Text = responseData
CSTAResponseData.Text = Mid(responseData, InStr(responseData, "<sessionID>"), 45)
' Close everything.
TCP_Stream.Close()
TCP_Client.Close()
Catch e1 As ArgumentNullException
'Console.WriteLine("ArgumentNullException: {0}", e)
MsgBox("argument null " & e1.ToString)
Catch e1 As SocketException
' Console.WriteLine("SocketException: {0}", e)
MsgBox("socket exp" & e1.ToString)
End Try
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call CSTAPost()
End Sub
End Classaber ich bekomme keinerlei Antwort.
Die PBX-Software läuft z.Zt. in einer virtuellen Umgebung, Version ist 5.1.2 (CentOS64). Das Webinterface ist auch erreichbar und konfigurierbar. CSTA Testlizenz ist auch aktiviert, und noch ein paar Tage gültig.
Als Basic-Version für den Test habe ich vb-Express 2010 unter Win7 64bit verwendet.
Ich habe es auch mit Usernamen und Passwort des Administrators der PBX versucht, und als Damäne versuchsweise die Windows-Domäne, aber es geht einfach nicht. Probeweise auch sämtliche Firewalls außer Bertrieb genommen, auch kein Ergebnis.
In der PBX habe ich der IP des aufrufenden PC SOAP-Zugriff gewährt, und in der IP-Zugriffskontrolle den Zugang ebenfalls erlaubt.
Aber meine Zugriffsversuche tauchen auch nicht in irgendeinem Log auf.
Muss ich in der PBX nocht irgendwas freischalten, wenn ja, wo? Oder muss CSTA noch installiert werden? Werde da aus den Beschreibungen nicht so ganz schlau, da englisch nicht unbedingt meine Sprache ist. Abgesehen davon, dass diese ganze Materie auch Neuland für mich ist.
Und noch eine Frage: ist mit dem Passwort im XML-String das SIP-Passwort oder das Web-Passwort des Users gemeint?
Sinn und Zweck der Übung soll werden, die Nummer des Anrufenden und die Dauer des Anrufs zeitnah zu ermitteln, und für Abrechnungszwecke zu verwenden.
Gruß
Hans
CSTA auf Snom One
in German
Posted
Hallo,
CDR ist wohl schon mal von einem Kollegen versucht worden, und als nicht ausreichend verworfen worden.
Ich hab dann weiterhin versucht, mit CSTA weiterzukommen, aber immer noch ergebnislos.
Was ich dank PCAP-Trace mitlerweile weiß, dass die Pakete zumindest bei der PBX ankommen, und auch quittiert werden, aber mehr passiert nicht.
Weiß jetzt nicht weiter.
Ist es der falsche Port? Existiert da ein Fehler in der PBX, der den XML-String falsch interpretiert, oder ist der XML-String doch fehlerhaft?
Sollte die PBX nicht wenigstens eine irgendeine Meldung zurückgeben?
ratlose Grüße
Hans