We are running Asterisk (Ver. 1.8.21.0) with FreePBX 2.11.0.4. There are about 100 Polycom 560s all running SRTP with No TLS. Every month or so Asterisk stops processing new INVITEs for all extensions. Asterisk starts returning BUSY for these new INVITEs. Registers, Sub/Notifys continue to be processed correctly. Amportal restart does not correct the issue. A server reboot is required for Asterisk to start processing calls again.
In /var/log/asterisk/full, we begin seeing the following errors when INVITEs fail to process.
[2014-01-08 08:32:27] WARNING[26609] res_srtp.c: SRTP unprotect failed with: authentication failure 110
[2014-01-08 08:32:29] WARNING[26609] res_srtp.c: SRTP unprotect failed with: authentication failure 110
[2014-01-08 09:30:55] WARNING[30485] chan_sip.c: No SRTP key management enabled
[2014-01-08 09:30:04] VERBOSE[29628] app_dial.c: == Everyone is busy/congested at this time (1:0/0/1) .
Here is the most complete portion of the log when the calls begin to fail.
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-dial-one:42] Dial(“SIP/AllenGen-0001102b”, “SIP/1796,Ttr”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] netsock2.c: == Using SIP RTP TOS bits 184
[2014-01-08 09:29:57] VERBOSE[29277] netsock2.c: == Using SIP RTP CoS mark 5
[2014-01-08 09:29:57] WARNING[29277] chan_sip.c: No SRTP key management enabled
[2014-01-08 09:29:57] VERBOSE[29277] app_dial.c: – Called SIP/1796
[2014-01-08 09:29:57] VERBOSE[29277] app_dial.c: == Everyone is busy/congested at this time (1:0/0/1)
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-dial-one:43] ExecIf(“SIP/AllenGen-0001102b”, “0?MacroExit()”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-dial-one:44] ExecIf(“SIP/AllenGen-0001102b”, “0?Set(DIALSTATUS=)”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-dial-one:45] GosubIf(“SIP/AllenGen-0001102b”, “0?s-CHANUNAVAIL,1()”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-dial-one:46] MacroExit(“SIP/AllenGen-0001102b”, “”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-exten-vm:15] Set(“SIP/AllenGen-0001102b”, “SV_DIALSTATUS=CHANUNAVAIL”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-exten-vm:16] GosubIf(“SIP/AllenGen-0001102b”, “0?docfu,1()”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-exten-vm:17] GosubIf(“SIP/AllenGen-0001102b”, “0?docfb,1()”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-exten-vm:18] Set(“SIP/AllenGen-0001102b”, “DIALSTATUS=CHANUNAVAIL”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-exten-vm:19] ExecIf(“SIP/AllenGen-0001102b”, “0?MacroExit()”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-exten-vm:20] GotoIf(“SIP/AllenGen-0001102b”, “1?s-CHANUNAVAIL,1”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Goto (macro-exten-vm,s-CHANUNAVAIL,1)
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s-CHANUNAVAIL@macro-exten-vm:1] GotoIf(“SIP/AllenGen-0001102b”, “0?exit,1”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s-CHANUNAVAIL@macro-exten-vm:2] PlayTones(“SIP/AllenGen-0001102b”, “congestion”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s-CHANUNAVAIL@macro-exten-vm:3] Congestion(“SIP/AllenGen-0001102b”, “10”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] app_macro.c: == Spawn extension (macro-exten-vm, s-CHANUNAVAIL, 3) exited non-zero on ‘SIP/AllenGen-0001102b’ in macro ‘exten-vm’
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: == Spawn extension (from-trunk, 1796, 3) exited non-zero on ‘SIP/AllenGen-0001102b’
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [h@from-trunk:1] Macro(“SIP/AllenGen-0001102b”, “hangupcall,”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-hangupcall:1] GotoIf(“SIP/AllenGen-0001102b”, “1?theend”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Goto (macro-hangupcall,s,3)
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-hangupcall:3] ExecIf(“SIP/AllenGen-0001102b”, “0?Set(CDR(recordingfile)=)”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: – Executing [s@macro-hangupcall:4] Hangup(“SIP/AllenGen-0001102b”, “”) in new stack
[2014-01-08 09:29:57] VERBOSE[29277] app_macro.c: == Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘SIP/AllenGen-0001102b’ in macro ‘hangupcall’
[2014-01-08 09:29:57] VERBOSE[29277] pbx.c: == Spawn extension (from-trunk, h, 1) exited non-zero on ‘SIP/AllenGen-0001102b’