• Hallo liebe AutoIter,

    ich hab heut bemerkt, dass mein Router VOIP unterstützt und hab es gleich erfolgreich mit einem SIP Client getestet.

    Jetzt wollt ich selber einen Clienten in AutoIt schreiben, jedoch fehlen mir sämtliche Kenntnisse mit SI Protokoll (hab keine Brauchbare Doku gefunden). Möglich scheint es ja mit UDP/TCP und damit AutoIt zu sein.
    DLLs oder Command Line Tools hab ich auch keine gefunden.

    Jetzt meine Frage/Bitte an euch: Wenn ihr wisst, wie das mit den Protokollen funktioniert (Verbindungsaufbau, Sprachdatenpaketübermittlung, Verbindungsabbau) bzw. Ansätze habt oder ein gutes CmdLine-Tool oder eine gute DLL kennt, dann wär es nett, wenn ihr mir antworten könntet.

    LG NO1 :)

  • Naja schonmal gegoogelt? Eine eigene Umsetzung von SIP erfordert jedenfalls jedemenge Arbeit wie bei den meisten Protokollen.

    Das Session Initiation Protocol (SIP) ist ein Netzprotokoll zum Aufbau, zur Steuerung und zum Abbau einer Kommunikationssitzung zwischen zwei und mehr Teilnehmern. Das Protokoll wird u. a. im RFC 3261 spezifiziert. In der IP-Telefonie ist das SIP ein häufig angewandtes Protokoll.
    ...
    https://de.wikipedia.org/wiki/Session_Initiation_Protocol


    Der grobe Protokollablauf ist auf Wikipedia zu finden, die genaue Spezifikation des Protokolls findest du wie üblich im zugehörigen RFC Dokument:
    https://tools.ietf.org/html/rfc3261

    In einem anderen Thread habe ich die systematische Auswertung eines DHCREQUEST Pakets beispielhaft mal teilweise implementiert und beschrieben:
    Testcode: Anmeldungen im LAN via UDP Broadcast mitbekommen
    Erläuterung: DHCP Client emulieren

    Eine vollständige Umsetzung des DHCP Protokolls hätte aber sicher mehrere Monate benötigt.


    Zurück zu SIP...

    Wenn du nach "sip command line" googlest wirst du ebenfalls sofort fündig:
    http://sipcmd.sourceforge.net/


    Der Autor ist sogar so nett seinen Quellcode auf Github zu veröffentlichen. Es steht dir also frei dir anzusehen wie er das Protokoll implementiert hat und dieses nach Autoit zu portieren. Ich würde rein gefühlsmässig aber sagen, dass andere Sprachen bzgl. Performance und Multithread Fähigkeit deutlich besser für Echtzeit Anwendungen geeignet sind als Autoit.

  • Wofür das Rad ein zweites (drittes, viertes...) Mal erfinden? Letztlich willst du ja mit dem Ding telefonieren, da tuns fertige Programme genauso gut?

    Wenn ich "Kosten/Nutzen" gegenüberstelle, würde ich mutig geschätzt behaupten, du verbrätst sinnlos Lebenszeit ;)

    Ich persönlich würde was fertiges nehmen, is ja scheinbar keine kommerizelle Absicht dahinter...

    Selbst AVM (ich vermute mal du hast eineFritze ;) ) hat, soweit ich weiß (sollte den doch jemand kennen, bitte Link schicken), keinen eigenen Client geschrieben und das will schon was heißen ;)

    Solltest du es doch hier versuchen, lass mal ab und zu deinen Code hier sehen, würde mich interessieren

  • Also vielen Dank für eure Antworten. Werde den Sourcecode mal analysieren, denn mich interessiert auch, wie die Übertragung funktioniert. Wenn ich mehr weiß, dann schreib ich nochmals, deswegen lass ich Das Thema noch auf rot.

    LG NO1 :)

  • Wofür das Rad ein zweites (drittes, viertes...) Mal erfinden? Letztlich willst du ja mit dem Ding telefonieren, da tuns fertige Programme genauso gut?

    Und ich dachte gerade der Weg ist das Ziel :D Das es so etwas schon gibt sollte keinen abhalten.

    Ich muss aber zugeben das dieses Ziel - je nach Kenntnissen - sehr ambitioniert ist (Ähnlich wie "Ich schreibe einen eigenen Browser" oder "Ich schreib ein neues Betriebssystem" was wir beides hier im Forum schon mal hatten)


  • Und ich dachte gerade der Weg ist das Ziel :D Das es so etwas schon gibt sollte keinen abhalten.

    Ja wie sang ein bekannter Sänger? "Der Weg ist steinig und schwer".

    Wenn er es selbst probieren möchte, soll er das tun.
    Wenn er Probleme hat, bei denen er nicht weiter kommt, weiß er so hoffe ich, dass er sich an dieses tolle Forum wenden kann und ihm hier, nach Möglichkeit, auch weiter geholfen wird.