iMessage threading is a total mess. I have an iPhone 4 and an iPad 2, both with iOS5. So does my brother. Not including regular SMS messages sent/received with iOS4, I now have three different threads of messages from him on my iPhone, seemingly depending on which device the message was sent/received on. I have two on the iPad, but these don't correspond exactly to any two from the iPhone.
I understand that iMessage (like FaceTime) can only address contacts by email address on a WiFi-only iPad, and can address by both email and phone number from an iPhone, but these all resolve to the same Apple ID on the server, and to the same contact on the device. Surely it should be possible to merge these conversations, either on the server (by Apple ID) or on the device (by contact).
Perhaps a fix will appear in a future iOS update but for now this rather takes the edge off an otherwise cool new feature.
I believe that the siri command for imessage is: Message Alice i'll be there soon. This will not prevent it from sending a text message. To prevent it from sending a text message, go into settings --> messages --> and turn off the "Send as SMS" switch.
In her contact it should look like this:
Alice Appleseed
Phone: (XXX) XXX-XXXX
Email: aliceappleseed@xxxxxxx.net
What you need to do is try to message her on one of these accounts.
Try saying: "message alice on her email...I'll see you later"
Then: "message alice on her mobile...I'll see you later"
The point is: you want to state where you want to send the message. If you just say "message Alice", then siri will ask you where you want the message to go.
Since the iPad doesn't have a phone number, you message it through its email address (this will have to send an iMessage). The non-iPhone uses its phone number (this will have to send a text message).
I hope this helps.
Update: Brought to my attention by the author of the original question, the method above: "message alice on her email...I'll see you later" is not fully effective.
Rather, saying it this way:
"message alice on iCloud...I'll see you later"
will send the imessage to Alice's iCloud email address (which must be set up by her as an E-mail address which can contact her via imessage). Note: If I'm correct, the E-mail account used as a contact point does not have to be an iCloud account (although it may be better to use one anyway). For instance, you could use the E-mail account of johnny.appleseed@example.com
, yet label it as an iCloud account in Contacts, and it SHOULD work the same.
Sadly, I have since stopped using Siri, simply because I have been too busy, so feel free to correct me if I am wrong about this all.
Glad I could help. (surprised that you remembered my answer, since it was written a good while ago.)
Best Answer
The easy way to fix this is to look at the contact card. (Assuming the issue is on your side of the sending)
You could temporarily move the phone numbers to the notes section and delete them. Then sending a message has to go via iMessage if their email is registered for iMessage.
If not, just add back their mobile number and initiate an iMessage to them from the address book/contact card view. Tap the chat bubble next to their email or phone to initiate an iMessage transmission.
It's often required to start a new thread if you keep sending to the wrong email/mobile number since Messages wants to hold on to the way the last message was sent and not jump back to iMessage if the other person's AppleID hasn't claimed the mobile number, so keep in mind the problem might be on the other person's account - not your address book or contacts.