Calls failing over time with SRTP enabled

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’

Hi,
Any news? I have noticed same bug

I haven’t been able to figure out the issue. Has anyone else experienced the issue?

Just experiences issue again.

[2014-03-21 15:18:53] VERBOSE[24523] netsock2.c: == Using SIP RTP TOS bits 184
[2014-03-21 15:18:53] VERBOSE[24523] netsock2.c: == Using SIP RTP CoS mark 5
[2014-03-21 15:18:53] WARNING[24523] chan_sip.c: No SRTP key management enabled
[2014-03-21 15:18:53] VERBOSE[24523] app_dial.c: – Called SIP/1837
[2014-03-21 15:18:53] VERBOSE[24523] app_dial.c: == Everyone is busy/congested at this time (1:0/0/1)

Also experiencing this issue. I see the same errors you posted along with this:

[2014-08-06 13:47:00] WARNING[8069][C-0000b416]: chan_sip.c:10420 process_sdp: Rejecting secure audio stream without encryption details: audio 2222 RTP/SAVP 9 0 8 18 127
[2014-08-06 13:47:00] WARNING[8069][C-0000b416]: chan_sip.c:10420 process_sdp: Rejecting secure audio stream without encryption details: audio 2222 RTP/SAVP 9 0 8 18 127

We are also experiencing this problem. It occurs incidentically. Restarting Asterisk is then the only solution.

chan_sip.c:12992 get_crypto_atrib: No SRTP key management enabled

Anyone any idea how to solve this?