Index: channels/chan_sip.c =================================================================== --- channels/chan_sip.c (revision 396920) +++ channels/chan_sip.c (working copy) @@ -10299,8 +10299,11 @@ } /* Check for 'image' media offer */ else if (strncmp(m, "image ", 6) == 0) { - if (((sscanf(m, "image %30u udptl t38%n", &x, &len) == 1 && len > 0) || - (sscanf(m, "image %30u UDPTL t38%n", &x, &len) == 1 && len > 0))) { + /* Some devices send "m=image 0 CRAP" instead of "m=image 0 UDPTL t38" + * when they decline. Check for that and accept. */ + if ((sscanf(m, "image %30u ", &x) == 1 && x == 0) || + (sscanf(m, "image %30u udptl t38%n", &x, &len) == 1 && len > 0) || + (sscanf(m, "image %30u UDPTL t38%n", &x, &len) == 1 && len > 0)) { /* produce zero-port m-line since it may be needed later * length is "m=image 0 udptl t38" + "\r\n\0" */ if (!(offer->decline_m_line = ast_malloc(22))) {