吴伟贤のBlog

Feed Rss

freeswitch esl c开发常用命令

01.18.2013, freeswitch, by .

freeswitch-cn群内收集的。版权归原作者所有

esl开发,C

厦门-余洪涌(109559405)  11:08:13
我开发使用到的一些命令:
呼叫:
esl_send_recv(&ghandle, “api create_uuid\n\n”);
if(strlen(called)>4)
sprintf(cmd_tmp,”bgapi originate {origination_uuid=%s,originate_timeout=60}sofia/gateway/gw1/%s %s\n\n”,uuid,called,system_caller);
else
sprintf(cmd_tmp,”bgapi originate {origination_uuid=%s,originate_timeout=30}sofia/internal/%s%c%s %s\n\n”,uuid,called,’%’,fsserverip,system_caller);
res=esl_send_recv(&handle,cmd_tmp);// “bgapi originate {originate_timeout=30}sofia/internal/1005%192.168.1.102 &park()\n\n”);
播音:
sprintf(cmd_tmp,”1 1 1 10 a %s”,filename);
esl_execute(handle, “play_and_get_digits”,cmd_tmp, NULL);
录音:
sprintf(cmd_tmp,”api uuid_record %s start %s %d”,uuid,tfile,MaxTimer);
esl_send_recv_timed(handle, cmd_tmp,1000);
会议:
sprintf(cmd_tmp,”%d@default”,meetno);
disp_msg(“conference %s”,cmd_tmp);
esl_execute(handle, “conference”,cmd_tmp , NULL);
会议设置:
if(userevent.say==0)
sprintf(cmd_tmp,”%d mute %d”,meetno,member_id);
else
sprintf(cmd_tmp,”%d unmute %d”,meetno,member_id);
sprintf(tmp,”api conference %s\nconsole_execute: true\n\n”, cmd_tmp);
disp_msg(tmp);
esl_send_recv(handle, tmp);
会议录音:
if(strlen(userevent.filename)>0)
{
sprintf(cmd_tmp,”%d record start %s”,meetno,userevent.filename);
recordmeet=1;
}
else
{
sprintf(cmd_tmp,”%d stop all”,userevent.data);
recordmeet=0;
}
sprintf(tmp,”api conference %s\nconsole_execute: true\n\n”, cmd_tmp);
esl 的c 的开发供大家参考。

停止媒体:
sprintf(cmd_tmp,”api uuid_break %s all”,uuid);//
esl_send_recv_timed(handle, cmd_tmp,1000);

关联呼叫:
sprintf(cmd_tmp,”api uuid_bridge %s %s”,uuid,uuid_to);
esl_send_recv_timed(handle, cmd_tmp,1000);
断开关联:
esl_execute(handle, “park”,”” , NULL);
通过callback 一个呼叫一个线程

评论已关闭。