How to activiate siri just by dialing a number (via bluetooth)
#1
How to activiate siri just by dialing a number (via bluetooth)
This is just an update to the method I had documented here...
https://www.6speedonline.com/forums/...e-command.html
...but I noticed several people asking about triggering SIRI so I figured I would post this "solution". This would require a jailbroken iphone running either real SIRI or probably SPIRE would work (if you have a working proxy). The main idea is that you create a 'fake' phone number that when dialed, fails to connect and then a process running on the iphone sees the fake number and starts siri. I've included a demo of it in my 997.
You can download the files here....
https://docs.google.com/open?id=0B_k...Q5ODk5MWFjNmIy
https://www.6speedonline.com/forums/...e-command.html
...but I noticed several people asking about triggering SIRI so I figured I would post this "solution". This would require a jailbroken iphone running either real SIRI or probably SPIRE would work (if you have a working proxy). The main idea is that you create a 'fake' phone number that when dialed, fails to connect and then a process running on the iphone sees the fake number and starts siri. I've included a demo of it in my 997.
You can download the files here....
https://docs.google.com/open?id=0B_k...Q5ODk5MWFjNmIy
#2
Activating Siri by dialing a number
Hello!
Thanks for posting instructions for this. I am having some difficulty getting it to work. I think I have done everything right, but nothing happens when I dial the number. I am wondering if this is where I have gone wrong: What am I supposed to name the Event in Terminal Activator?
Thanks again!
Thanks for posting instructions for this. I am having some difficulty getting it to work. I think I have done everything right, but nothing happens when I dial the number. I am wondering if this is where I have gone wrong: What am I supposed to name the Event in Terminal Activator?
Thanks again!
#3
It depends on what is in the script, if you didn't change it, it should be something like this...
x=`/bin/notify_post siri`;
which means the command in Terminal Activator would be just
siri
If you have putty, or mobile terminal, you might want to issue the commands and make sure it works, (breaking the problem down and trying to see what does and doesn't work). You can even run the script from putty, but will have to manually kill it afterwards. I often find putting in commands in like
play /System/Library/Audio/UISounds/Tock.caf
at key points we'll help to see what parts trigger, etc...
Side Note: I just recently realized that you don't have to wait and listen for the operator to say the number failed ... once you have started calling, you can just hang up and the script will still trigger since it still sees the attempt to dial in the phone contacts, saves time.
Another Side Note: Two tweaks that used to make this a very powerful option were PersistentAssistant and DismissSiri, since you could issue multiple siri commands and quit out of siri while using this script. unfortunately these tweaks do not seem to work in iOS6 so look for updates to them, if you used that functionality.
x=`/bin/notify_post siri`;
which means the command in Terminal Activator would be just
siri
If you have putty, or mobile terminal, you might want to issue the commands and make sure it works, (breaking the problem down and trying to see what does and doesn't work). You can even run the script from putty, but will have to manually kill it afterwards. I often find putting in commands in like
play /System/Library/Audio/UISounds/Tock.caf
at key points we'll help to see what parts trigger, etc...
Side Note: I just recently realized that you don't have to wait and listen for the operator to say the number failed ... once you have started calling, you can just hang up and the script will still trigger since it still sees the attempt to dial in the phone contacts, saves time.
Another Side Note: Two tweaks that used to make this a very powerful option were PersistentAssistant and DismissSiri, since you could issue multiple siri commands and quit out of siri while using this script. unfortunately these tweaks do not seem to work in iOS6 so look for updates to them, if you used that functionality.
Last edited by IvanRaide; 02-18-2013 at 04:17 PM.
#7
Did you have to make any changes from your original guide? I've followed the guide exactly but haven't been able to get it working. I'm on 6.1.2 on an iPhone 5, as well.
Trending Topics
#8
1} if you run your terminal command in putty, does SIRI trigger? -- /bin/notify_post siri
2} did you set 755 on the .sh file?
3} if you go into SSH and into the directory, try to run the script manually, does it run, or does it fail anywhere? ( ./VoiceCheckScript.sh)
4} if you run the SSH command for quering the phonebook directly, what does it return (it should return nothing unless you've dialed the number within 6 seconds)
sqlite3 /var/wireless/Library/CallHistory/call_history.db '.read /usr/bin/idlewhile/VoiceCmdQuery'
5} it all is good, you want to see if the daemon is running, run this ps -alx | grep VoiceCheckScript | grep -v grep you should see the script running, if not check your launchdaemon file (did you run launchctl -load etc)
Note: obviously any changes you might have made (like to the directory) should be reflected in the above.
#9
Hi, im a fun of your work whit dialing activation siri via bluetooth. I have now an iphone 5s with ios 7. I tried to use this script but i dont know if its working on ios7, i have made it work on ios 6 and it was awesome on my ford sync 2012.
Thanks anyway
Thanks anyway
#10
The timing of this is good, because just yesterday,"Terminal Activator" was updated to iphone5s (x64) support, and I tried out the scripts yesterday and everything worked!
Now one thing to confirm is that notify-post is in the right place. There was a conflict with "bigboss hack tools" so I had to move the files a bit, but everything worked after that.
Now one thing to confirm is that notify-post is in the right place. There was a conflict with "bigboss hack tools" so I had to move the files a bit, but everything worked after that.
#12
I did all the steps mentioned in the readme file and also did the steps mentioned in this thread. nevertheless if i call the number siri wouldn't load within 6 seconds.
""
1} if you run your terminal command in putty, does SIRI trigger? -- /bin/notify_post siri
2} did you set 755 on the .sh file?
3} if you go into SSH and into the directory, try to run the script manually, does it run, or does it fail anywhere? ( ./VoiceCheckScript.sh)
4} if you run the SSH command for quering the phonebook directly, what does it return (it should return nothing unless you've dialed the number within 6 seconds)
sqlite3 /var/wireless/Library/CallHistory/call_history.db '.read /usr/bin/idlewhile/VoiceCmdQuery'
5} it all is good, you want to see if the daemon is running, run this ps -alx | grep VoiceCheckScript | grep -v grep you should see the script running, if not check your launchdaemon file (did you run launchctl -load etc) ""
1.) i changed the direction to /usr/bin/notify_post siri inside the script anyway i'm able to trigger siri
3.) works just fine
4.) returns nothing, unless i repeatedly sent the command and call the number i get a number back
5.) mentions the scripts running etc.
everything works as explained but anyway no siri triggering when calling the number. Any idea on this ? and just one more question would it be possible to catch more than just one number ? so it would be possible to change playlists without talking to siri with the use of askassistant
some details: i'm on ios 7.0.4 iphone 5, i'm from germany but i think it is unimportant ?
thanks
""
1} if you run your terminal command in putty, does SIRI trigger? -- /bin/notify_post siri
2} did you set 755 on the .sh file?
3} if you go into SSH and into the directory, try to run the script manually, does it run, or does it fail anywhere? ( ./VoiceCheckScript.sh)
4} if you run the SSH command for quering the phonebook directly, what does it return (it should return nothing unless you've dialed the number within 6 seconds)
sqlite3 /var/wireless/Library/CallHistory/call_history.db '.read /usr/bin/idlewhile/VoiceCmdQuery'
5} it all is good, you want to see if the daemon is running, run this ps -alx | grep VoiceCheckScript | grep -v grep you should see the script running, if not check your launchdaemon file (did you run launchctl -load etc) ""
1.) i changed the direction to /usr/bin/notify_post siri inside the script anyway i'm able to trigger siri
3.) works just fine
4.) returns nothing, unless i repeatedly sent the command and call the number i get a number back
5.) mentions the scripts running etc.
everything works as explained but anyway no siri triggering when calling the number. Any idea on this ? and just one more question would it be possible to catch more than just one number ? so it would be possible to change playlists without talking to siri with the use of askassistant
some details: i'm on ios 7.0.4 iphone 5, i'm from germany but i think it is unimportant ?
thanks
#13
Answering the last first, yes, I have multiple phone numbers for different functions. Currently I have *#411#* (have Aloud repeat last notification), *#611#* toggle bluetooth off (wait 5 secs) back on, and *#666*# reboots the phone. Anything you can do in shell you should have access to.
Now, onto your problem.
I would first replace the /bin/notify command with the following command
#1} play /System/Library/Audio/UISounds/begin_record.caf
then when you dial the number you should here the sound file, (that will show if the command is triggering), if not, problem with daemon launch (but your answer to #5 suggests this is not it)
#4} should return a value only if you called the number within 6 seconds, so it makes since you dont see a result all the time, and shows that the sqlite is working and the db structure for german is consistent.
#3} you run the script and it works fine, (as in it activates siri?) or it runs, but still does not activate siri ?
if the answer to {3} is it launches siri, and the answer to {1} is, it plays the sound, then try replacing the /bin/notifier_post siri to the following:
activator send libactivator.system.virtual-assistant
if the above works .... this seems vaguely familiar ... I could not get the permission right for the launchdaemon to run terminal_activator from usr/bin which is why I think I copied it to /bin you might be able to fix it moving notifier_post from /usr/bin to /bin -- (or keep the above)
Now, onto your problem.
I would first replace the /bin/notify command with the following command
#1} play /System/Library/Audio/UISounds/begin_record.caf
then when you dial the number you should here the sound file, (that will show if the command is triggering), if not, problem with daemon launch (but your answer to #5 suggests this is not it)
#4} should return a value only if you called the number within 6 seconds, so it makes since you dont see a result all the time, and shows that the sqlite is working and the db structure for german is consistent.
#3} you run the script and it works fine, (as in it activates siri?) or it runs, but still does not activate siri ?
if the answer to {3} is it launches siri, and the answer to {1} is, it plays the sound, then try replacing the /bin/notifier_post siri to the following:
activator send libactivator.system.virtual-assistant
if the above works .... this seems vaguely familiar ... I could not get the permission right for the launchdaemon to run terminal_activator from usr/bin which is why I think I copied it to /bin you might be able to fix it moving notifier_post from /usr/bin to /bin -- (or keep the above)
#15
That is actually very easy. Just make a new SQL query file and change the phone number inside to whatever you want (for example my bluetooth toggle of *#611#* is below)
select max(ROWID) from call where address="*#611#*" and CAST(strftime('%s','now')-strftime('%s',date,'unixepoch') as interger) < 6;
now, find this block and just copy it under this one but change the sqlquery name to your new file
And you just keep doing that over and over under this one for the different commands (and making new SQL queries for different numbers to trigger) and that's it...
select max(ROWID) from call where address="*#611#*" and CAST(strftime('%s','now')-strftime('%s',date,'unixepoch') as interger) < 6;
now, find this block and just copy it under this one but change the sqlquery name to your new file
Code:
n=`sqlite3 /var/wireless/Library/CallHistory/call_history.db '.read /usr/bin/idlewhile/new-query-filename'`; if [ "$n" != "" ] then -- do something here fi