FreePBX trunks with Thinq - Anyone have experience?

You should stop trying to guess and ask your provider to give you the exact parameters needed to configure the trunk.

By the way, insecure=very has been deprecated a long long time ago. You should be using insecure=port,invite

Unfortunately the provider has no parameters to offer me really… I already asked for assistance there.

I do not see a “technology” prefix anywhere in the trunk setup… only my originating IP and that my traffic has to be directed to a.lcr.thinq.com

That’s incoming, not outgoing. Two very different things.

Also, it looks like you are using Chan-SIP. I recommend this now, especially when the call could be coming from more than two or three IP addresses. You should transition to PJ-SIP and identify all of your incoming addresses that way.

If you are going to continue with Chan-SIP:

Should probably be “type=friend” to allow the settings to carry over to the Outbound settings.

That setting has been deprecated for about 10 years. As noted above, you should be using “port,invite”.

For testing purposes, stick with ulaw for now. It’s universally supported (in the US) and gets rid of one more variable.

Make sure all of your settings in the Advanced Settings tab for your SIP production are set up for this. You need to double-check the inbound router as well to ensure traffic is being forwarded correctly if you are, in fact, using NAT.

insecure=port,invite is often copied from cookbook examples even though insecure=port is not required in most of the cases it is used, and insecure=invite has also been replaced with a more modern version and that is remotesecret.
So if you use remotesecret instead of secret you achieve what the user probably wants and that is to not challenge incoming invites for authentication but provide the secret if challenged on outgoing invites.

2 Likes

Ok guys… finally got it all working… so for anyone looking to use Thinq… here’s what you need to do…

For inbound:

In Settings > Asterisk SIP Settings > Security Settings

  • Allow Anonymous Inbound SIP Calls
  • Allow SIP Guests

Now obviously you’ll want to lock down your box so that only the Thinq IPs can get in…

For outbound:

When setting up the Trunk… Use Custom Trunk
and in the Custom Settings tab use this custom dial string – SIP/[email protected]

That’s what did it for me… working fine now… in and out

Thanks!

This is not really the best answer for this at all.

3 Likes

Horray!

reads rest of post

Hmmm. While I’m sure you have calls working, you have not done it in a way that is securable. I would not recommend anyone follow this recipe.

Unless there’s another way to accept calls from a specific incoming IP without registrations… Thinq’s system works with destination IP and nothing else… I was not able to get the incoming to work any other way…

Any other suggestions welcome of course!

Pretty much every single trunk works this way, even the ones using registration. Inbound INVITE comes from recognizable IP, route call to specified context. You either create one chan_sip peer per signalling host, or a single pjsip trunk with all signalling hosts enumerated on the match line. Then white list the signalling hosts/ranges in firewall.

Just like this.

Various advanced settings can be changed depending on the specific needs of the SIP provider.


Opting not to read scroll back, so apologies if it’s been discussed. I’ve encountered a surprising number of people using non-registration trunks that don’t realize they must correctly match the signalling port on the provider end with the trunk port on the PBX. So if you create a PJSIP trunk, and the PJSIP signalling port is not 5060, you must specify that at the provider end.

1 Like

Ok I am trying the PJSIP setup… however I get the “all circuits are busy” message when dialing out… how can I make sure PJSIP sends out in the format Thinq needs – ie: SIP/[email protected]

At the Asterisk command prompt, type
pjsip set logger on
and make a test call. The SIP trace will appear in the Asterisk log.

Ok… that’s helpful… so i’m getting this – Dial(“PJSIP/101-0000000f”, "PJSIP/3212083130@THINQ-PJSIP

Instead of what I need – Dial(“PJSIP/101-0000000e”, "SIP/[email protected]

So looks like I might need to change the name of the trunk from THINQ-PJSIP to a.lcr.thinq.com and test again…

possibly onto something… although not quite on the money yet… changing the trunk name now I get this

Dial("PJSIP/101-00000013", "PJSIP/[email protected],300,Tb(func-apply-sipheaders^s^1,(2))")

but I need this

Dial("PJSIP/101-00000011", "SIP/[email protected],300,T")

Specifying “SIP/” in the dial string means use chan_sip. “PJSIP/” in front means use chan_pjsip. The name of the endpoint is also something that is not used externally or communicated in the SIP signaling. It has no bearing on the INVITE that is sent, except used as a mechanism to look up the configured address information to use.

sngrep makes seeing the signalling pretty simple: Virtuous Signalling

Ok I have to admit that’s a really cool tool… I gave that sngrep a spin and not sure if I understand correctly… but it seems like my from: sip:[email protected] and to: sip:[email protected]

seem to be going to the same IP for some reason… the one where the actual phone is coming from… so my extension 101 is trying to dial my phone number 321xxxxxxx back on itself…

Not sure what to make of this…

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.