To correct the issue, on the iPhone, go to iMessages
To check if you have the problem yourself:
Go to settings > Messages > Send and Receive
Under “You can be reached by iMessage at”, if your phone number is not ticked, you have this problem.
To fix (this worked for me):
Go to Settings > Messages
Turn off iMessage
Go to Settings > Cellular
Turn off Cellular Data
Turn Cellular Data and iMessage back on
Go to Settings > Messages > Send and Receive
Under “Start new conversations from”, tick your phone number
If you want to fail back to SMS messaging when iMessage is unavailable, make sure to enable Settings > Messages > Send as SMS. This was disabled by default on my fresh iOS7, and can cause text messages to be mysteriously delayed.
For more detail on the problem, see http://simonhackett.com/2013/11/06/ios7-imessage-mobile-number-linking/