diff --git a/src/call.cpp b/src/call.cpp index 0e52334d7..cd7e572ea 100644 --- a/src/call.cpp +++ b/src/call.cpp @@ -3988,7 +3988,7 @@ call::T_AutoMode call::checkAutomaticResponseMode(char * P_recv) return E_AM_UNEXP_CANCEL; } else if (strcmp(P_recv, "PING") == 0) { return E_AM_PING; - } else if (((strcmp(P_recv, "INFO") == 0) || (strcmp(P_recv, "NOTIFY") == 0) || (strcmp(P_recv, "UPDATE") == 0)) + } else if (((strcmp(P_recv, "INFO") == 0) || (strcmp(P_recv, "NOTIFY") == 0) || (strcmp(P_recv, "UPDATE") == 0) || (strcmp(P_recv, "OPTIONS") == 0)) && (auto_answer == true)) { return E_AM_AA; } else { diff --git a/src/socket.cpp b/src/socket.cpp index c6853c3fa..94001ad64 100644 --- a/src/socket.cpp +++ b/src/socket.cpp @@ -1213,6 +1213,7 @@ void process_message(struct sipp_socket *socket, char *msg, ssize_t msg_size, st } else if (auto_answer && ((strstr(msg, "NOTIFY") == msg) || (strstr(msg, "INFO") == msg) || + (strstr(msg, "OPTIONS") == msg) || (strstr(msg, "UPDATE") == msg))) { // If auto answer mode, try to answer the incoming message // with automaticResponseMode