My SIP provider is BSNL Wings and I can’t find a way to place an outbound call. I get a 403 Forbidden error each time.
I used Dial(SIP/wings/${EXTEN}) to initiate the outgoing call. But I can’t succeed.
The service provider’s customer support isn’t any helpful as they have no clue about any of this. If any of you have integrated Wings with Asterisk or knows why I encounter a 403 error, please explain it to me and guide me on how to solve.
Could it be because I’m calling a mobile number but in debug, it says 94966XXXXX@some-ip-here? If that’s the problem, how do I remove the @ip part?
The problem is that you have no IP part! You should normally include the sip.conf section name (pjsip.conf endpoint section name) in dialstring. You can include the provider’s domain name in the dialstring directly, but would not normally do so, and would normally need to include authentication data.
I am surprised you are getting 403, though. I would expect a log message about an all numeric destination, and a different status code. I’m wondering if you have configured the provider as an outbound proxy, as that is the only way I can see for the call ever to get out of Asterisk at all.
As provider denied or not helpful, I think you can try by looking capturing packets and checking 403 refusing causes.
According to ietf document it could know about refusing causes.
10.4.4403 Forbidden The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.
I actually tried migrating to PJSIP. But then, I can only hear audio on one side on internal calls. Outbound registration did work, but I was neither able to place calls nor receive. I wrote a new PJSIP.conf from scratch and tried setting direct media to no and force rport to yes but to no avail.
I actually do have the section name, it was a typo in the original post. Sorry for that.
I still can’t place outbound calls. Inbound works smooth.
Going back to the IP part. That is the one part that you cannot remove in any SIP system, as it is mandatory in SIP URIs.
More generally, you need to provide the complete transaction for the INVITE, not just the final status. Even then, specific knowledge about the ITSP may be needed.
But then I have successfully registered and am able to get incoming calls as well. So, my auth details isn’t the problem. Could it be something at the provider’s side?
I migrated to PJSIP, but now I can hear only one side audio on internal calls and I can neither place outgoing calls nor receive incoming calls from my service provider, although PJSIP says SIP registration happened successfully. What could be the reason?
I have used sip_to_pjsip converter and haven’t changed anything in the file. Just made sure things were okay and ran the script after disabling chan_sip module.
NAT/Firewall config are all the same from SIP config. Audio was fine while in SIP as well but in PJSIP, it fails.
My second softphone is on the laptop which uses my mobile hotspot and the first softphone on the same phone. Could that be a problem?
My problem is with the provider, because two of my calls connected today and then from the 3rd one I got 403 Forbidden error again. Thank you for the help!