Themabewertung:
  • 1 Bewertung(en) - 1 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5

[Diskussion][ANLEITUNG] Siri Proxy + Spire - MAC & Windows über W-LAN
#81

Sieht bei mir haargenauso aus. Sobald sich ein iPhone verbindet, wird der Server offensichtlich beendet.
Zitieren
#82

Jupp, bei mir auch!
Hab bisher leider noch keine Lösung gefunden.

Kann man irgendwo auf dem Server sehen ob das 4S seine Auth-Token richtig abgelegt hat?
Zitieren
#83

Gibt ein Fix:

Geht mal in den Ordner
/home/.rvm/gems/ruby-1.9.3-p0@SiriProxy/gems/CFPropertyList-2.0.17/lib/
Öffnet dort die rbCFPropertyList.rb

Scrollt dort in die Line 128 (nach CFDictionary.new(hsh))
Fügt dort ein
when NilClass
CFString.new("")

& speichern
Ab Befehl 11 dann weiter machen.
Zitieren
#84

"Servs" existiert bei mir gar nicht. Gruebel

Edit: Gut, ich finde aber alles ab .rvm … Smiley

Edit2: Perfekt, nun auch keine Probleme mehr bei mir.

Kann mir noch jemand erklären, was genau da schief lief bzw. was die Änderung bewirkt?
Zitieren
#85

@sylver. Danke :-)

jetzt stürzt er nicht mehr ab!
Zitieren
#86

Leider funktioniert es bei mir immer noch nicht, allerdings weiß ich auch nicht ob das 4S seine Auth-Token abgeliefert hat.
Ich hatte einen Spender und kann das nicht mehr verifizieren, er meinte das Test Siri Proxy funktioniert hat.

Folgende Meldung erhalte ich:

[Warning] Non-4S device connected.
[Info] Found cached session data.
[Info] Found cached speech id.
[Info] Found cached assistant id.
[Info - iPhone] Received Object: LoadAssistant
[Info - iPhone] Received Object: SetAssistantData
[Info - iPhone] Received Object: SetRestrictions
{"speech_id"=>nil, "assistant_id"=>nil, "session_data"=>nil}
[Info - iPhone] Received Object: ClearContext
[Info - iPhone] Received Object: StartSpeechRequest
[Info - Guzzoni] Received Object: GetSessionCertificateResponse
[Info - Guzzoni] Received Object: SessionValidationFailed
[Info - Guzzoni] Received Object: CommandFailed
[Info - Guzzoni] Received Object: CommandFailed
[Info - Guzzoni] Received Object: CommandFailed
[Info - Guzzoni] Received Object: CommandFailed
[Info - iPhone] Received Object: SetRequestOrigin
[Info - User Location] lat: 48.77249206770736, long: 9.169286048261121

Bei der Anleitung steht folgendes:
If you see CommandFailed, you're having an issue with your plist.

Meine plist ist aber meine ich in Ordnung, es ist alles so wie in der Anleitung beschrieben.
Zitieren
#87

Hast du die Host datei bearbeitet in deinem iPhone 4?
Zitieren
#88

Jetzt habe ich nochmal etwas rausgefunden.
Ein Ping auf dem Server an guzzoni.apple.com liefert nicht die eigene IP des Servers sonder 17.174.....

Ich weiß noch nicht genau was da richtig ist, der Proxy muss im Prinzip ja an Apple weiterleiten nur das 4S muss über den Proxy gehen deshalb vermutlich der eigene DNS-Server (dnsmasq) mit dem Eintrag.

Jedenfalls wenn ich in die /etc/resolv.conf (diese wird von dnsmasq benützt) an 1. Stelle die 127.0.0.1 eintrage erhalte ich jetzt folgende Meldung am Server:

[Warning] Non-4S device connected.
zlib(finalizer): the stream was freed prematurely.
[Info] Found cached session data.
[Info] Found cached speech id.
[Info] Found cached assistant id.
zlib(finalizer): the stream was freed prematurely.
[Info - iPhone] Received Object: LoadAssistant
[Info - iPhone] Received Object: SetAssistantData
[Info - iPhone] Received Object: SetRestrictions
[Info - iPhone] Received Object: ClearContext
[Info - iPhone] Received Object: GetAnchors
[Info - iPhone] Received Object: SetRestrictions
[Info - iPhone] Received Object: ClearContext
[Info - iPhone] Received Object: StartSpeechRequest
[Info - iPhone] Received Object: SetRequestOrigin
[Info - User Location] lat: , long:
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: SpeechPacket
[Info - iPhone] Received Object: FinishSpeech

Ja die hosts im iPhone ist korrekt.
Zitieren
#89

(03.01.2012, 17:53)td1964 schrieb:  [Info - Guzzoni] Received Object: SessionValidationFailed

Das ist dein Problem, dein iPhone 4 kann sich nicht als 4S ausgeben.
Check die hostdatei in deinem iPhone 4 und auch die IP, ob die immernoch die gleiche ist (die dort eingetragen ist)

vergleich mal mit dem Befehl
ifconfig
deine IP.
Ich bin jetzt erstmal off
Zitieren
#90

Mein iPhone hat in der hosts die externen Adresse des Servers (xxx.xxx.xxx.xxx guzzoni.apple.com).
In Spire ist die Adresse https://guzzoni.apple.com:port und das Zertifikat ist auch installiert, sonst nichts.

Die externe Adresse des Rootservers wird in der Firewall weitergeleitet in die DMZ zu der internen (eigentlichen) des Servers.
In der dnsmasq.conf des Servers steht die interne Adresse des Servers so wie in der Anleitung beschrieben.

Wahrscheinlich habe ich einen Denkfehler.

Bin jetzt dann auch erstmal off.

Danke sylver :-)
Zitieren
#91

So langsam verstehe ich immer mehr.

Das 4S hat den Auth Token nicht abliefern können da ein 4S ja logischerweise immer auf Port 443 den guzzoni.apple.com sucht, lässt sich ja weil momentan kein Jailbreak möglich ist auch nicht ändern.

Hab den Server jetzt auf 443 eingestellt und warte auf einen Spender.

Also ich verstehe das so. Der Server (SiriProxy) läuft auch als DNS-Server.
Dieser mussdann im 4S eingetragen sein. Das 4S findet dann den Proxyserver als guzzoni.apple.com und speichert den Auth Token leitet selber dann aber an den Richtigen guzzoni.apple.com weiter.

Die alten iPhones verbinden sich auch mit dem guzzoni.apple.com dieser wird aber in der hosts der iPhones tatsächlich an den Proxy weitergeleitet und Dieser macht mit dem 4S Auth Token (welches 24 Std. gültig ist) die Anfrage an den echten guzzoni.apple.com.

Bitte korrigieren falls ich hie Müll verzapfe, danke :-)
Zitieren
#92

ich hab grade das Problem, dass ich das Cert nicht auf meinem iPhone 4 installiert bekomme. Auf dem 4s ging es. Es kommt immer die Meldung :
"Profil kann nicht installiert werden. Safari konnte ein Profil nicht installieren (unbekannter fehler)".

Was nun?
Zitieren
#93

Gibt es irgendeine Möglichkeit den Server auf einen anderen Port als 443 laufen zu lassen. Da läuft natürlich schon mein Apache mit SSL drauf....

Wäre super wenn mir jemand nen Tipp geben würde, denn einfach den Port des Siri Proxy zu ändern und dann im iPhone einen Port an die DNS Einstellungen zu hängen hat nix gebracht! :-(

Danke für die Hilfe!
Zitieren
#94

So bei mir hat es nun endlich geklappt.
Funktioniert auch über UMTS.
Ich habe nur noch ein Problem mit meinem 2. iPhone, dies tut noch nicht obwohl alles identisch wie beim 1. eingestellt . Das verstehe wer will. Es kriegt keine Verbindung obwohl die hosts auf den richtigen Server verweist.

@ teufel2k: für das 4S benötigst Du von extern den https=443.
Die Anderen iPhones sollten auch über einen Alternativen Port funktionieren. In .siriproxy/config.yml kannst Du den Port einstellen. Im Router halt dann von extern dementsprechend weiterleiten.
Oder man kann auch z.B von Port 444 auf Port 443 weiterleiten.
Eine andere Möglichkeit für das 4S wäre noch eine VPN-Verbindung ins Netz des Servers.
Zitieren
#95

Wie hast du das über UMTS gemacht, also dass du da auch Siri nutzen kannst? Muss dein PC dafür dann an sein zu Hause?

Zitat:Klickt nun oben rechts auf die 2 Pfeile. Wählt das Wifi unter Bridged Mode

Bei mir steht da weder was von Bridged Mode noch von Wifi Wacko
btw ich benutze VirtualBox

Liebe Grüße Smiley

~ iPhone 6 plus ~ iPad 3 ~ MacBook Pro ~
Zitieren
#96

Abend Smiley
Das wuerde mich auch sehr Interessieren /:
Ich verstehe noch nicht wie ich das machen soll, damit ich den DNS Server(?) Konfigurieren bzw ueberhaupt benutzen kann. Gibts da ne loesung wie man das in dem Linux Server oder wie auch immer, hauptsache auf dem PC zum laufen bekommt? oder muss ich eine Adresse dafuer Kaufen? Wie zb die von der seite "www.selfhost.de" Ich Verstehe mich noch nicht so ganz mit der Materie ^^
Waere fuer eure Hilfe sehr Dankbar Zwinkern

Zitieren
#97

(04.01.2012, 01:58)td1964 schrieb:  So bei mir hat es nun endlich geklappt.
Funktioniert auch über UMTS.
Ich habe nur noch ein Problem mit meinem 2. iPhone, dies tut noch nicht obwohl alles identisch wie beim 1. eingestellt . Das verstehe wer will. Es kriegt keine Verbindung obwohl die hosts auf den richtigen Server verweist.

Keine Ahnung ob das vielleicht ein Bug ist, siehe
(03.01.2012, 09:55)sylver schrieb:  Ich habe genauso noch Daten von einem Root-Server vor mir liegen, auf dem Server läuft Siri einwandfrei (im UMTS Netz)
(Es ist aber nicht mein Root Server)

Meine Erfahrung:
Wenn ich die Daten im iPhone eingebe, muss ich auch mal neustarten, respringen etc. damit Siri endlich funktioniert.

Ich will damit sagen, selbst bei korrekter Dateneingabe im iPhone, muss man ''rumexperimentieren'', damit Siri funktioniert. Ob das jetzt an Spire liegt oder am untethered Jailbreak oder am iOS oder oder.... weiss ich nicht. Fakt ist, das der Root Server mit Siri funktioniert. Hat man einmal Siri am laufen, hat man es geschafft.


-------------------
.


btw.: Hast du eine Domain? Ja, oder?
Zitieren
#98

@sylver: Danke für die Info.

Ich habe einen Rootserver und Domains.

Ich hatte das tatsächlich schon mal, als der Server noch nicht funktionierte, da ging es dann auch auf einmal wieder bzw. das iPhone hatte nach reboot wieder Kontakt zum Server obwohl die Einstellungen vorher auch schon alle richtig waren.

Ich habe schon alles mögliche versucht, respring, reboot, Spire deinstalliert usw.
Wenigstens tut es bei einem iPhone :-)
Zitieren
#99

Ich versuche mal kurz zusammen zu fassen wie das bei mir eingerichtet ist und ich werde etwas für das Verständnis beitragen.
@DerDennis93: Zur Info dnsmasq aus der Anleitung ist der DNS-Server für das 4S

Der Server muss natürlich 24 Stunden laufen.
1x am Tag sollte das Siri eines 4S den Server benützen.

Mein SiriProxy läuft auf einem Rootserver mit fester öffentlicher IP .
Diese IP horcht auf https (443) und DNS (53) und wird in ein internes Netz (DMZ) auf den Server weitergeleitet.
Es muss der Standardport sein (https) da das 4S ansonsten nicht aktualisieren kann.
Im 4S wird die öffentliche IP im DNS eingetragen.
Zum Verständnis das 4S sucht wenn man Siri startet die Adresse guzzoni.apple.com, da der eigene DNS-Server gefragt wird, wird die Adresse dort (siehe Anleitung dnsmasq.conf) mit der IP (öffentliche) des Servers aufgelöst.
Bzw. unsere eigener Server antwortet anstatt der von Apple und es werden dann die Auth Token gespeichert. Man sieht das dann auf dem Server im Verzeichnis /.siriproxy, es werden dann die Dateien assistant_id, speech_id und session_data angelegt und gefüllt.
Die andere iPhones stellen Ihre Anfragen dann auch an https://guzzoni.apple.com, der Eintrag wird in Spire gemacht.
Diesen iPhones wird dann in der hosts mitgeteilt wo sie den guzzoni.apple.com finden (siehe Anleitung) dies ist wieder die öffentliche IP bzw. unser eigener Server.
Der eigene Server nimmt die Anfragen an und leitet sie mit dem Auth Token des 4S an den echten guzzoni.apple.com weiter, voila es funktioniert tadellos :-)
Das Zertifikat des SiriProxy muss auf dem 4S und den Anderen natürlich installiert sein sowie die anderen Dinge wie in der Anleitung von sylver beschrieben.

Mit einem Homeserver könnte man es eigentlich auch hinkriegen, im Prinzip funktioniert es gleich.
Man benötig halt DynDNS (http://de.wikipedia.org/wiki/DynDNS) statt der öffentlichen IP.
Und für das 4S eventuell eine VPN-Verbindung (Fritzbox kann das) ins Netz des Servers oder man sendet dem 4S User täglich die aktuelle öffentliche IP des DSL-Anschlusses, welche er dann in das 4S einträgt.
Bitte mal testen und hier Bescheid geben ob das so klappt.

@sylver: Sollte etwas nicht stimmen in meinen Erläuterungen bitte ich um Korrektur, Danke :-)
Zitieren

Ich habe den Fehler endlich gefunden weshalb mein 2. Phone nicht tat.
Es war ein Fehler in der hosts.

In der hosts hatte ich den Eintrag meineIP guzzoni.apple.com als letzte Zeile hinzugefügt,
genauso wie bei meinem funktionierenden iPhone.
Nur bei Diesem war danach noch ein leerer Absatz.

Als ich diesen leeren Absatz am Schluss mit iFile eingefügt habe, hat es sofort funktioniert.

Ich empfehle den Eintrag in die hosts nicht am Ende zu machen sondern irgendwo zwischendrin.
Zitieren


Möglicherweise verwandte Themen…
Thema / Verfasser Antworten Ansichten Letzter Beitrag



Benutzer, die gerade dieses Thema anschauen: 10 Gast/Gäste