diff --git a/main/frame.c b/main/frame.c
index 3a5ee91bd4e1bab59f986ef2bdc0bb50047c521e..711f9e15f104d6a71d071f948087335d46546bd9 100644
--- a/main/frame.c
+++ b/main/frame.c
@@ -459,12 +459,21 @@ char *ast_frame_subclass2str(struct ast_frame *f, char *subclass, size_t slen, c
 		case AST_CONTROL_RADIO_UNKEY:
 			ast_copy_string(subclass, "Unkey Radio", slen);
 			break;
+		case AST_CONTROL_PROGRESS:
+			ast_copy_string(subclass, "Progress", slen);
+			break;
+		case AST_CONTROL_PROCEEDING:
+			ast_copy_string(subclass, "Proceeding", slen);
+			break;
 		case AST_CONTROL_HOLD:
 			ast_copy_string(subclass, "Hold", slen);
 			break;
 		case AST_CONTROL_UNHOLD:
 			ast_copy_string(subclass, "Unhold", slen);
 			break;
+		case AST_CONTROL_VIDUPDATE:
+			ast_copy_string(subclass, "Video Update", slen);
+			break;
 		case AST_CONTROL_T38_PARAMETERS: {
 			char *message = "Unknown";
 			if (f->datalen != sizeof(struct ast_control_t38_parameters)) {