Change timeout for registering after 4XX

Status
Not open for further replies.

Tom Z

Customer
Advanced Certified
Joined
Sep 21, 2020
Messages
21
Reaction score
1
Hi!

I have a unsupported SIP trunk provider (company wants it) I need to get working.
The problem is, that the provider sometimes thinks the 3cx wants to register the trunk even thou it's already registered and answers with 403 forbidden.

After that the 3cx goes into a 5 minute timeout before re-trying to register, which then works.
But in between the trunk is down for 5 minutes...

I tried altering the "Re-Register Timeout" in the options of the trunk as well as searching for parameters regarding 4XX erros, or parameters set to 300 seconds, but the behaviour didn't change.

Ofc I would love to understand why this happens in the first place and how I can change it, but for the time being, simply making the downtime as short as possible would be great.
Can I somehow manually write a provider.xml that has this paramter hardcoded?
What is the right parameter to start with?
Setting this globally is also fine for me.
 
That would be something the provider should fix. Any PBX will try to re-register before expiration of the previous registration, and 3CX is no different.

403 should not be returned by the provider in this case.

@leejor @cobaltit Any ideas?
 
Yeah no way to talk with them about SIP, they only know what the manufacturer of their software tells them. ;)

Doesn't matter I wanna focus on the solution.
Sadly I couldn't find any documentation about provider.xml files or sip timeout parameters anywhere.
I have looked in the trainings for 3cx and also in their blog and their forums with no luck.
 
Yeah no way to talk with them about SIP, they only know what the manufacturer of their software tells them. ;)

Doesn't matter I wanna focus on the solution.
Sadly I couldn't find any documentation about provider.xml files or sip timeout parameters anywhere.
I have looked in the trainings for 3cx and also in their blog and their forums with no luck.
You won't find any. There's no 4XX timeout or anything. Only the 5min delay and the Re-Register Timeout setting.

There isn't one either in the pv.xml file.
 
One of the problems of using an unsupported provider, and in paticuar, one that is unwilling (or unable) to offer any technical help. That said...with most registration based devices, the registering device should follow the time set by the server, if this is being specified correctly. It many cases, you are able to specify a shorter timeout period, but some providers get upset if this happens too often.

I would first troubleshoot this by looking at the response after the first registration attempt, what is contained in that message, and is there possibly something that 3CX considers "non-standard", in particular the re-registration time.

Short of that, start shopping around for another provider
 
  • Like
Reactions: Evolute IT
You won't find any. There's no 4XX timeout or anything. Only the 5min delay and the Re-Register Timeout setting.

There isn't one either in the pv.xml file.
The Re-Register Timeout in the GUI is a value in seconds and is set to 10 seconds currently, but this does NOT affect the behaviour of 3cx after receiving a 403.

So you are telling me it should and it's a bug?

One of the problems of using an unsupported provider, and in paticuar, one that is unwilling (or unable) to offer any technical help. That said...with most registration based devices, the registering device should follow the time set by the server, if this is being specified correctly. It many cases, you are able to specify a shorter timeout period, but some providers get upset if this happens too often.

I would first troubleshoot this by looking at the response after the first registration attempt, what is contained in that message, and is there possibly something that 3CX considers "non-standard", in particular the re-registration time.

Short of that, start shopping around for another provider

The provider is there for political and financial reasons. It has to be exactly this one.
As said, it is not within my powers to change that.

ofc I could look into the responses to get an idea what the provider wants as a intervall, but how can I actually configure that?
As said the re-register timeout in the gui does not affect the behaviour of 3cx after receiving a 403.
 
Can the provider have an IP-based trunk instead? That would workaround the registration issue completely.
 
I doubt the provider understands what that is.

I really just wanna configure the time intervall between receiving an error message (like 403) and trying to register again in 3cx nothing more. The 5 minutes are not hardcoded, right!?
 
did i read properly , actually you are set to 10 sec for registration time ?
If so change this to 300s or 600s and test like that.
 
Default Re-Register Timeout for "Generic SIP Trunk": 120 Seconds
Behaviour after 403 from provider: 300 Seconds
Manually set Re-Register Timeout to 10 Seconds
Behaviour after 403from provider: 300 Seconds

This setting does not change the behaviour.
 
Last edited:
The 5 minutes are not hardcoded, right!?
They are and the value is there to prevent your PBX to be blacklisted by the provider. The solution to your issue is to use a supported provider that understands SIP.
 
Another possible option is to put an actual SBC (not 3CX SBC) in front of 3CX. SBCs are designed to improve security as well as overcome incompatibilities like this.
 
TBH i already thought about doing this.
Budget is non-existent, but I do have an old Oracle SBC that probably can do the job even thou it's overkill to use hardware like that.
Another possibility would be to virtualize an open source SBC.

Since YiannisH states, that the value is hardcoded (which im my humble opinion is a bad software design decision) and the provider can't be influenced or changed, I will look into a more complex solution.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,324
Messages
591,897
Members
165,476
Latest member
awan05