[Freeswitch-users] uuid_send_dtmf

Anthony Minessale anthony.minessale at gmail.com
Wed Jul 16 09:56:55 PDT 2008


post it as a jira as a patch to mod_commands.c and the AUTHORS file, also
put your name in the code at the top under the contributors section.



On Wed, Jul 16, 2008 at 11:49 AM, Cesar Cepeda <cesar at auronix.com> wrote:

>  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.
>
>
>
> _______________________________________________
> Freeswitch-users mailing list
> Freeswitch-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>


-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/

AIM: anthm
MSN:anthony_minessale at hotmail.com <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:213-799-1400
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080716/65ad4812/attachment-0002.html 


More information about the FreeSWITCH-users mailing list