Hi, I have discovered an error in py_pjsua.c. The incoming dtmf event not works, because it calls the on_call_media_state callback instead of on_dtmf_digit. 153 static void cb_on_dtmf_digit(pjsua_call_id call_id, int digit) 154 { 155 if (PyCallable_Check(g_obj_callback->on_call_media_state)) // HERE 156 { 157 char digit_str[10]; 158 159 ENTER_PYTHON(); 160 161 pj_ansi_snprintf(digit_str, sizeof(digit_str), "%c", digit); 162 163 PyObject_CallFunctionObjArgs( 164 g_obj_callback->on_call_media_state, // HERE 165 Py_BuildValue("i",call_id), 166 PyString_FromString(digit_str), 167 NULL 168 ); 169 170 LEAVE_PYTHON(); 171 } 172 } bye