- Joined
- Sep 21, 2020
- Messages
- 21
- Reaction score
- 1
Hi,
I have a 3cx instance running on a Intel NUC at a customer, that faces random outages of the SIP-Trunk.
For months I'm trying to find a reason for the completely random outages, that are not related to any other infrastructure issue whatsoever.
The Log tells me the same story every time:
After 7-10 Minutes the connection works again with no issues whatsoever.
Everything around and including the 3cx is monitored, there are no other problems inside the network.
DURING the outage when I connect to the 3cx appliance with ssh I can resolv the providers DNS-Name, ping both the DNS-Name and the IP-Adress and even telnet to port 5060 with success. Rebooting the box resolves the issue.
First I thought it might be some kind of block ist, but iptables is empty and the connection works as I mentioned before.
Next I thought the 3cx itself maybe blocks inside the application, but there is no entry in the ip blocklist either.
In the very begining I had the 3cx running inside a virtual machine, then I wanted to eliminate every possible source of failure and used dedicated hardware.
I checked layer 2-4 closely and monitored every network device on the way.
We even changed the SIP trunk provider to a 3cx certified provider.
Nothing really helped and I'm out of options at the moment.
In my opinion there seems to be a bug inside the pbx, but from my point of view 3cx offers no debugging except the logviewer.
The only thing I could find is the 3cxSystemService.log which states the following during this timeframe:
As far as I can read this it's just the error handling.
There is no log file in either the /var/lib/Instnace1 or /var/lib/Data/logs folder that holds any information for the timeframe of the outages.
No registers are leaving the 3cx box during the timeframe where the error occurs.
I checked this by monitoring with tcpdump on the box itself, the switch and the firewall.
After some time the 3cx starts retransmitting registers again, the trunk goes up and everything works perfectly fine.
From the providers side it looks like the box just silently died and suddenly came back.
I'm out of ideas.
I have a 3cx instance running on a Intel NUC at a customer, that faces random outages of the SIP-Trunk.
For months I'm trying to find a reason for the completely random outages, that are not related to any other infrastructure issue whatsoever.
The Log tells me the same story every time:
07/17/2021 4:05:01 PM - [CM504005]: Registration failed for: Lc:10001(@PROVIDER[<sip:[email protected]:5060/TCP>]); Cause: Cause: 408 Request Timeout/REGISTER from local
07/17/2021 3:59:28 PM - [CM504005]: Registration failed for: Lc:10001(@PROVIDER[<sip:[email protected]:5060/TCP>]); Cause: Cause: 408 Request Timeout/REGISTER from local
07/17/2021 3:53:56 PM - [CM504005]: Registration failed for: Lc:10001(@PROVIDER[<sip:[email protected]:5060/TCP>]); Cause: Cause: 408 Request Timeout/REGISTER from local
After 7-10 Minutes the connection works again with no issues whatsoever.
Everything around and including the 3cx is monitored, there are no other problems inside the network.
DURING the outage when I connect to the 3cx appliance with ssh I can resolv the providers DNS-Name, ping both the DNS-Name and the IP-Adress and even telnet to port 5060 with success. Rebooting the box resolves the issue.
First I thought it might be some kind of block ist, but iptables is empty and the connection works as I mentioned before.
Next I thought the 3cx itself maybe blocks inside the application, but there is no entry in the ip blocklist either.
In the very begining I had the 3cx running inside a virtual machine, then I wanted to eliminate every possible source of failure and used dedicated hardware.
I checked layer 2-4 closely and monitored every network device on the way.
We even changed the SIP trunk provider to a 3cx certified provider.
Nothing really helped and I'm out of options at the moment.
In my opinion there seems to be a bug inside the pbx, but from my point of view 3cx offers no debugging except the logviewer.
The only thing I could find is the 3cxSystemService.log which states the following during this timeframe:
2021/07/17 15:54:11.881|637|0069|Excpt|System.Threading.Tasks.TaskCanceledException: A task was canceled.
at MailKit.Net.SocketUtils.ConnectAsync(String host, Int32 port, IPEndPoint localEndPoint, Boolean doAsync, CancellationToken cancellationToken)
at MailKit.Net.SocketUtils.ConnectAsync(String host, Int32 port, IPEndPoint localEndPoint, Int32 timeout, Boolean doAsync, CancellationToken cancellationToken)
at MailKit.MailService.ConnectSocket(String host, Int32 port, Boolean doAsync, CancellationToken cancellationToken)
at MailKit.Net.Smtp.SmtpClient.ConnectAsync(String host, Int32 port, SecureSocketOptions options, Boolean doAsync, CancellationToken cancellationToken)
at TcxMail.MailTemplateSender.Send(MimeMessage email)
at TcxMail.MailTemplateSender.Send(XDocument template, Func`2 getParameter, String mailTo, IEnumerable`1 attachments, Func`2 needEncode)
at _3cxSystemService.EventNotifier.ErrorEventNotifier.SendPbxErrorCodeEmail(Int32 evtId, Int32 type, DateTime dt, String source, String message, String[] prms)
2021/07/17 15:56:11.889|637|0045|Excpt|System.Threading.Tasks.TaskCanceledException: The operation was canceled.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.DecompressionHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
at InstanceManagerConnector.ServiceClient.ServiceClient.EventAsync(String minion_id, EventObject body, CancellationToken cancellationToken)
at _3cxSystemService.EventNotifier.ErrorEventNotifier.<>c.<<ProcessNewEvents>b__25_0>d.MoveNext()
2021/07/17 15:56:26.900|637|0045|Excpt|System.Threading.Tasks.TaskCanceledException: A task was canceled.
at MailKit.Net.SocketUtils.ConnectAsync(String host, Int32 port, IPEndPoint localEndPoint, Boolean doAsync, CancellationToken cancellationToken)
at MailKit.Net.SocketUtils.ConnectAsync(String host, Int32 port, IPEndPoint localEndPoint, Int32 timeout, Boolean doAsync, CancellationToken cancellationToken)
at MailKit.MailService.ConnectSocket(String host, Int32 port, Boolean doAsync, CancellationToken cancellationToken)
at MailKit.Net.Smtp.SmtpClient.ConnectAsync(String host, Int32 port, SecureSocketOptions options, Boolean doAsync, CancellationToken cancellationToken)
at TcxMail.MailTemplateSender.Send(MimeMessage email)
at TcxMail.MailTemplateSender.Send(XDocument template, Func`2 getParameter, String mailTo, IEnumerable`1 attachments, Func`2 needEncode)
at _3cxSystemService.EventNotifier.ErrorEventNotifier.SendPbxErrorCodeEmail(Int32 evtId, Int32 type, DateTime dt, String source, String message, String[] prms)
As far as I can read this it's just the error handling.
There is no log file in either the /var/lib/Instnace1 or /var/lib/Data/logs folder that holds any information for the timeframe of the outages.
No registers are leaving the 3cx box during the timeframe where the error occurs.
I checked this by monitoring with tcpdump on the box itself, the switch and the firewall.
After some time the 3cx starts retransmitting registers again, the trunk goes up and everything works perfectly fine.
From the providers side it looks like the box just silently died and suddenly came back.
I'm out of ideas.
