TCP port number not 5060 for OPTIONS dialogue originated by PBX

I’d like to have my trunk send OPTIONS packets over TCP, port 5060, every 30 seconds.

When I use UDP, it does send on port 5060. But when I use transport=tcp, the source TCP port is in the 40 000 - 50 000 range.

I’ve tried using these parameters, to no avail:

transport=tcp
tcpbindaddr=0.0.0.0:5060
port=5060
outboundproxyport=5060
bindport=5060

The trunk does listen on port 5060, and replies to incoming dialogues from port 5060. And the destination port is always 5060. It’s just the source port I can’t set.

Also, how can I increase the OPTIONS cadence to be every 30 seconds instead of every 60 seconds?

I’ve tried:

keepalive=30