Daniel,
you should set sip debug on for asterisk in order to get more verbose output related to the 503 case. I couldn't spot something wrong for register that got 503. Next ones have two contact headers, but that is fine in SIP.
Thanks for your suggestion, I'm working on this and will get back to the list with my findings.
Regards, Vikram.