It is likely that there are spaces in the p.telephone field. I am doing something similar to you using Prawn / Rails, so I tried as many ways as I could think to make it not align correctly, and inserting a space into the field is the only way to reproduce your problem.
Even if this is not your specific problem in this case, it would probably be nice to exclude spaces from your phone numbers (and, in fact, other fields) before you render them anyway - suppose it's a form somewhere in elsewhere, you can expect some user to accidentally fit in trailing spaces. You can do this in your PDF code, for example:
text "#{p.telephone.strip}\n#{p.email.strip}\n#{p.url.strip}", :align => :right
or you can do it in your model if you want:
def telephone=(t) write_attribute(:telephone, t.strip) end
I personally like the first option (do it in the PDF viewing code), because I prefer to store exactly what the user enters, and only manipulate their data when necessary (by sight), but it tends to clutter up the presentation code a bit.
source share