PJSIP outbound proxy issue


#21

I asked you what they say, not how you implemented it (for chan_sip)


(Egypt) #22

They sent me the post details and said we don’t support PJSIP that’s it


#23

Please try these settings:
The USER Details, should be completely blank, except for the Register String.
The Register String should be as in my earlier post. Note that there are two : (colons) and two @ (atsigns).

For PEER Details, delete bindport. Remove the :5083 at the end of outboundproxy. Add the following:
outboundproxyport=5083
insecure=port,invite

If you still have trouble, if it doesn’t register, paste a log (with SIP trace) showing an attempted registration. Otherwise, paste log for a failing call.


#24

Double again, that they don’t support pjsip DOES NOT MEAN that pjsip won’t work, again what exactly do they say as to how to set up your connection, surely they have some directions, no?


(Egypt) #25

They sent this details over email only
User name: MY-USER
Pass Word : MY-SUPPER-PASS
Domain : domain.site
pbx IP address : x.x.x.x
Outbound proxy : y.y.y.y:5038
Additional thing
They required the connection from specific IP address .Which in my case eth3
Regards


(Egypt) #26

[2021-02-19 08:16:11] WARNING[20923]: acl.c:1029 ast_ouraddrfor: Cannot connect to (null): Invalid argument
[2021-02-19 08:16:11] ERROR[20923]: chan_sip.c:4344 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
[2021-02-19 08:16:11] NOTICE[20923]: chan_sip.c:16046 sip_reg_timeout:    – Registration for ‘MY-USER@PROXY’ timed out, trying again (At
tempt #12)
[2021-02-19 08:16:23] ERROR[32042]: res_pjsip.c:4350 endpt_send_request: Error 70001 ‘Unknown Error (PJ_EUNKNOWN)’ sending OPTIONS request to endpoint 210
[2021-02-19 08:16:31] WARNING[20923]: acl.c:1029 ast_ouraddrfor: Cannot connect to (null): Invalid argument
[2021-02-19 08:16:31] ERROR[20923]: chan_sip.c:4344 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
[2021-02-19 08:16:31] NOTICE[20923]: chan_sip.c:16046 sip_reg_timeout:    – Registration for ‘MY-USER@PROXY’ timed out, trying again (At
tempt #13)


#27

Is this a private IP address (connecting to a provider-supplied SBC or router on your premises)?
Or, is it a public IP address dedicated to the PBX (you have a block of public IPv4 addresses)?
Or, is it your company’s only public address (the PBX connects to the internet via a NAT router)?

Is domain.site a name unique to your company? If not (it’s the provider’s server name), please post the actual name, so I can see how it resolves, find references online, etc.

Is y.y.y.y unique to your company? If not, please post the actual value. Is it a public address, a private address or a domain name?

Please post the 5 lines of log preceding this one (even if they have an earlier timestamp or are not errors).

From a shell prompt on the PBX, can you ping y.y.y.y?


(Egypt) #28

The IP address y.y.y.y is unique and provided by the provider ( The provider host the server also ) .
Let me explain in details :
The provider hosts the physical server and provide us with 2 IP addresses:
1- Public IP Address [eth1]
2- 192.168.1.x LAN IP address behind the router .[eth3]
The provider required us to connect to SIP trunk using [eth3] on port 5083.
Y.Y.Y.Y IS THE OUTBOUND PROXY .
For the ping part yes i can ping on it from my server .
The shell now showing the following lines and keep repeats them :

[2021-02-19 09:18:31] WARNING[20923]: acl.c:1029 ast_ouraddrfor: Cannot connect to (null): Invalid argument
[2021-02-19 09:18:31] ERROR[20923]: chan_sip.c:4344 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
[2021-02-19 09:18:31] NOTICE[20923]: chan_sip.c:16046 sip_reg_timeout:    – Registration for ‘MY-USER@Y.Y.Y.Y’ timed out, trying again (At
tempt #199)
Regards


#29

It would behoove you to not keep saying Y.Y.Y.Y , it would also help if you identify the ip addresses that are your actual eth?'s as it is hard to troubleshoot routing to unknown addresses


#30

Is y.y.y.y a 192.168.1.x address? If not, you probably need to set up a persistent route at the OS level, since your default route is likely through eth1.

What do you mean by “on”? Each UDP packet has a source port and a destination port. So for a REGISTER sent by Asterisk, if it is supposed to come from port 5083, you must set Bind Port to 5083 in Asterisk SIP Settings -> chan_sip. If it s supposed to be sent to port 5083 on their server, you must set outboundproxyport=5083 in your trunk settings, and also put :5083 at the end of your Register String.

Please post the output of
ip route
given at a root shell prompt. Mask the last two octets of your public IP address. I don’t believe that there should be any other private info in the output.


(Egypt) #31

2021/02/19 09:02 Executing ‘ip route’…
2021/02/19 09:02 Executed! Result:
2021/02/19 09:02
default via P.P.P.42 dev eth1
P.P.P.42/30 dev eth1 proto kernel scope link src P.P.P.42
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth1 scope link metric 1003
169.254.0.0/16 dev eth2 scope link metric 1004
L.L.L.22/30 dev eth2 proto kernel scope link src L.L.L.22
192.168.1.7/24 dev eth0 proto kernel scope link src 192.168.1.7 --------- Local ILO IP address
Exit status: 0

P.P.P.42 IS PUBLIC IP
L.L.L. IS LAN IP AND it is ping on the sip truj
Regards


#32

OK, so if L.L.L is not 192.168.1 then I don’t see a serious problem with the route table.

I assume that y.y.y.y is L.L.L.21 – is that correct?

However, there are lots of inconsistencies:

  1. You refer to port 5038 in some posts and 5083 in others. Which is it?
  2. You did not state whether this port number applies on Asterisk end, their server or both.
  3. You mention eth3 in various places but it doesn’t show up in the routing table.
  4. default via P.P.P.42 dev eth1 seems wrong. If your public IP ends in .42 and you have a /30, then the ISP gateway should be P.P.P.41

All these details are important and you can’t expect the system to work without getting them right.


(Egypt) #33

Hi
Sorry i was posting it while i was a wake for 36 hours .
We have three ether networks :
1- eth0 which is related ti ilo ( remote installation agent for our server ) this is normal LAN address 192.168.x.x and connected to the router behind NAT . this eth we will not use in our configuration .
2- eth1 : this is our public IP address we use it to connect to our pbx through web interface and also webrtc softphones which is 91.140.P.P.
3- eth2 Which required by the provider to use in SIP connections 172.17.S.S .
eth2 is connected through a switch not a router .
The sip Ip address is y.y.y.y:8083
Is the above information will help ? or you need further details ?Please let me know .
Regards


#34

For example, if eth2 is at 172.17.123.22, is y.y.y.y 172.17.123.21 ? If not, you need to set up a route at the OS level (not in Asterisk) so it doesn’t try to reach y.y.y.y via the default route.

To what? A box (SBC) supplied by the trunking provider that is physically at your location? If not, please explain.

This is yet different from the 5038 and 5083 previously mentioned. Obviously, it won’t work unless you get the correct port number. Do you have some written documentation from the provider that you can post?


(Egypt) #35

eth2 is not y.y,y.y
y.y.y.y is the outbound proxy address
for the port number it is 5083 sorry it typo error .
eth2 connected through a switch to the outbound proxy network .the SIP IP address is the same address for outbound proxy .
No documentation they didn’t sent any docs for the connection .
Regards


#36

Sure, it’s obviously different. I asked if yyyy is in the subnet that eth2 is on. If it isn’t, there needs to be some routing added so packets addressed to yyyy will be sent via eth2, because they would otherwise go out on eth1, which has the default route.


(Egypt) #37

I add a static route rule to eth2 for this
Y.Y.Y.Y via 172.17.S.S dev eth2


#38

That is probably not correct. If eth2 has an IP address of 172.17.S.22 with a /30 netmask, then it would normally be talking to a device at 172.17.S.21, so the route should be
Y.Y.Y.Y via 172.17.S.21 dev eth2

After you get this set up, run a tcpdump capture on eth2 and confirm that you can successfully ping y.y.y.y and see both the ICMP requests and the ICMP responses on the eth2 interface.

After the ping is being properly routed, continue to use tcpdump to see what is happening with the REGISTER requests. If they are not properly going out eth2, post a new screenshot of your trunk settings. (If the Peer Details window has a scrollbar, enlarge it so the shot shows all the parameters.)

If requests are going out but there are no responses, you’ll need to ask your provider about that.

If requests are going out but there are error responses, please post details.


(Egypt) #39

@Stewart1 you are write after i add the route as you mentioned now i can ping Y.Y.Y.Y but sip gives the following errors
[2021-02-20 00:19:29] WARNING[20923]: acl.c:1029 ast_ouraddrfor: Cannot connect to (null): Invalid argument
[2021-02-20 00:19:29] ERROR[20923]: chan_sip.c:4344 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
[2021-02-20 00:19:49] WARNING[20923]: acl.c:1029 ast_ouraddrfor: Cannot connect to (null): Invalid argument
[2021-02-20 00:19:49] ERROR[20923]: chan_sip.c:4344 __sip_reliable_xmit: Serious Network Trouble; __sip_xmit returns error for pkt data
[2021-02-20 00:19:49] NOTICE[20923]: chan_sip.c:16046 sip_reg_timeout: – Registration for ‘user-name@Y.Y.Y.Y’ timed out, trying again (Attempt #2)


#40

Screenshots of all trunk settings, please.
Does tcpdump show anything going out on eth2?