Would it be posible to add a uuid_send_dtmf API? I coded one copying from another API, it works, but I'm not sure if it's the correct way of doing it (freeing memory, calling functions, etc), anyway I would like it if uuid_send_dtmf is added to the trunk. Here's the code: #define UUID_SEND_DTMF_SYNTAX "<uuid> <dtmf_data>" SWITCH_STANDARD_API(uuid_send_dtmf_function) { switch_core_session_t *psession = NULL; char *mycmd = NULL, *argv[2] = { 0 }; char *uuid = NULL, *dtmf_data = NULL; int argc = 0; if (session) { return SWITCH_STATUS_FALSE; } if (switch_strlen_zero(cmd)) { goto usage; } if (!(mycmd = strdup(cmd))) { goto usage; } if ((argc = switch_separate_string(mycmd, ' ', argv, (sizeof(argv) / sizeof(argv[0])))) < 2) { goto usage; } uuid = argv[0]; dtmf_data = argv[1]; if (switch_strlen_zero(uuid) || switch_strlen_zero(dtmf_data)) { goto usage; } if (!(psession = switch_core_session_locate(uuid))) { stream->write_function(stream, "-ERR Cannot locate session!\n"); return SWITCH_STATUS_SUCCESS; } switch_core_session_send_dtmf_string(psession, (const char *) dtmf_data); goto done; usage: stream->write_function(stream, "-USAGE: %s\n", UUID_SEND_DTMF_SYNTAX); switch_safe_free(mycmd); done: if (psession) { switch_core_session_rwunlock(psession); } switch_safe_free(mycmd); return SWITCH_STATUS_SUCCESS; } And on SWITCH_MODULE_LOAD_FUNCTION(mod_commands_load) I added: SWITCH_ADD_API(commands_api_interface, "uuid_send_dtmf", "send dtmf digits", uuid_send_dtmf_function, UUID_SEND_DTMF_SYNTAX); Thanks. Cesar Cepeda.