Hi David,
This isn't an answer to your question - I'm not sure I have one for you right now.
However, I've seen a few messages from you now about trying to get this sips/sip stuff working, and I'm curious to know why you're jumping through these hoops to make this work? The entire purpose of sips is that it should be encrypted end to end. Is there a point in pretending to the client as though they're using sips when they're actually using an insecure connection in the middle? Is there a particular client you're trying to cooperate with that needs this? You can still get TLS working over the public side of the connection (using ;transport=tls in the SIP URI), while allowing for insecure transports in your private network. This seems to be ultimately what you want.
I'm sure you can get this to work, and I'm sure there's an answer - it just seems like you're going to end up with something fairly fragile. It seems like something you'd want to avoid unless you absolutely can't.
Best,
Colin