Explicit port indication (5060) in SIP INVITE header

Hello,

I’m having this problem, when interconnecting an Asterisk PBX with a pubblic VoIP provider, which allows the direct intrconnection, in trunking mode (i.e. without REGISTRATION)

I can correctly receive calls, but when I try to put an outgoing call, sending an INVITE like this:

INVITE sip:081xxxyyyx@10.198.x1.y1 SIP/2.0
Via: SIP/2.0/UDP 10.198.x2.y2:5060;branch=z9hG4bK07162592;rport
From: "39081xxxvvvxx" <sip:39081xxxvvvxx@domain.it>;tag=as7c35c41c
To: <sip:081xxxyyyx@10.198.x1.y1>
Contact: <sip:39081xxxvvvxx@10.198.x2.y2>
Call-ID: 0aa7f84e5fc5c0a2568afeeb486b4509@domain.it
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Remote-Party-ID: "39081xxxvvvxx" <sip:39081xxxvvvxx@domain.it>;privacy=off;screen=no
Date: Fri, 27 Jun 2008 14:41:29 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Type: application/sdp
Content-Length: 239
 
v=0
o=root 25003 25003 IN IP4 10.198.x2.y2
s=session
c=IN IP4 10.198.x2.y2
t=0 0
m=audio 15964 RTP/AVP 8 0 96
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=silenceSupp:off - - - -

I receive a

SIP/2.0 480 Temporarily Unavailable

error message from the network.
I’ve made some experiment using Sipp to generate the INVITE, and I’ve discovered that the problem is caused by the absence of the port in the first line of the INVITE

Infact if I send an INVITE with the first line like:

INVITE sip:081xxxyyyx@10.198.x1.y1:5060 SIP/2.0

everything works fine.

My asterisk is working on the default SIP port 5060, and the configuration of the SIP peer is

type=peer
sendrpid=yes
host=10.198.x1.y1
port=5060
fromdomain=domain.it
context=from-trunk

Can anybody tell me how can I send the INVITE that the network is waiting for (with the indication of the port)?

Thanks all