为什么80%的码农都做不了架构师?>>>   

#更多参考: http://freeswitch.net.cn/86.html

中间件下载地址,含windows,linux

旧版本下载地址:

http://121.40.240.104:8090/

最新版本统一存于:

https://github.com/nwaycn/FSGui

新增接口: 1. 查询分机状态 curl -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUxNzMyNzUsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTE2OTY3NX0.bcg0zDwqwyczAFzdgzlW3eTwIkE1crHXgr97HJd8Bo8" http://192.168.1.115:8082/api/extension_info/1002

2. 设置分机忙闲
//idle or busy
curl -H "Content-Type: application/json" -d '{"Extension":"1002","Value":"idle" }'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/extension_seatstatus2. 设置分机上线下线
//up or down
curl -H "Content-Type: application/json" -d '{"Extension":"1002","Value":"up" }'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/extension_seatstate3. 设置分机呼叫状态
//ring,talking,ivr,ready
curl -H "Content-Type: application/json" -d '{"Extension":"1002","Value":"ring" }'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/extension_callstate

动态链接库

////call back//typedef void (__stdcall *CallBackEvent)(EVENT_NAME evt_name, const char* caller_number, const char* dest_number,const char* gateway_name, const char* origination_name,CALL_DIRECTION call_direction );typedef void (__stdcall  *CallBackCdr)(const char* caller_number, const char* dest_number, const char* gateway_name, const char* origination_name,CALL_DIRECTION call_directon, int start_time, int answer_time, int hangup_time);////the service//int start_nway_inbound_server();int stop_nway_inbound_server();////third interface////pHandle句柄,uuidbool nway_hangup(const char* phone_number);//呼叫保持 bool nway_hold(const char* phone_number);//解除呼叫保持bool nway_unhold(const char* phone_number);//呼叫a和b//内部号码呼叫//job_uuid:  uuid//callername: 透给b的名称//callernum:  a路的号码//calleenum:  b路的号码bool nway_originate(   const char* callername, const char* callernum, const char* calleenum);//呼叫a和b//外部号码呼叫//job_uuid:  uuid//callername: 透给b的名称//callernum:  a路的号码//calleenum:  b路的号码//a_gatewayname: a leg gateway//b_gatewayname: b leg gateway//a_effective_caller_id_num: a leg effective number//b_effective_caller_id_num: b leg effective number//a_external: a leg is call to external//b_external: b leg is call to externalbool nway_originate(  const char* callername, const char* callernum, const char* calleenum, const char* a_gatewayname,const char* b_gatewayname,const char* a_effective_caller_id_num,const char* b_effective_caller_id_num ,bool a_external, bool b_external);//bridge 两个channels//a_leg_uuid: aleg uuid//b_leg_uuid: b leg uuidbool nway_bridge( const char* a_number, const char* b_number);//park a legbool nway_park(const char* phone_number);//intercept a leg//拦截某一个呼叫并转给某个号码//number: 要转给的号码//uuid:   要拦截的uuidbool nway_intercept(const char* number);//answer a leg bool nway_answer(const char* phone_number);bool nway_preanswer(const char* phone_number);//eavesdrop a uuid//监听一个通话//uuid: 要监听的uuid//number: 监听者号码//gateway_name: 如果是如用手机监听,需要指定gateway,如果长度低于2,则认为是内线bool nway_eavesdrop( const char* other_number, const char* number,const char* gateway_name);//耳语,即与uuid说话,但是另一个uuid的通话是听不到的//uuid: 要监听的uuid//number: 监听者号码//gateway_name: 如果是如用手机监听,需要指定gateway,如果长度低于2,则认为是内线bool nway_whisper( const char* other_number, const char* number,const char* gateway_name);//三方通话//uuid: 要通话的两路中任意一路的uuid// number: 要呼叫的号码//gatway_name: 要呼叫的时候gateway namebool nway_threeway(  const char* other_number, const char* number,const char* gateway_name );//把当前通话转给第三方// uuid: 另一个通话的uuid//number: 转出去的号码//gatewayname : gateway namebool nway_transfer(  const char* other_number, const char* number,const char* gateway_name );//播放语音文件//uuid//filename: 文件的物理位置 //loopplay: 循环播放bool nway_playback( const char* phone_number, const char* filename, bool loopplay);//终止当前操作//uuidbool nway_break( const char* phone_number);//对某个通道进行录音//uuid//path: 录音文件路径//flag: 录音参考:[start|stop|mask|unmask]//limit: 录音最大的秒数bool nway_record(  const char* phone_number, const char* path, const char* flag, int limit);//发送dtmf给对应的channel//uuid ://dtmf: bool nway_send_dtmf(  const char* phone_number, const char* dtmf);//执行系统命令bool nway_system( const char* command);////***********************************************************************//conference////创建一个会议室//conference_name: 会议名称//number: 主席的号码//gateway_name:如果是外线,则需要指定gatewaybool nway_create_conference( const char* conference_name, const char* number,const char* gateway_name);//呼叫一个号码并加入到会议室中bool nway_add_conference(  const char* conference_name, const char* number, const char* gateway_name, bool is_mute);//踢掉某个会议中所有的人bool nway_kick_all_conference(  const char* conference_name);

restful接口

token 认证:

curl -d '{"username": "admin", "password": "admin"}' -H "Content-Type:application/json" http://192.168.1.115:8082/api/login

获取一个系统生成的uuid:

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUxNzMyNzUsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTE2OTY3NX0.bcg0zDwqwyczAFzdgzlW3eTwIkE1crHXgr97HJd8Bo8" http://192.168.1.115:8082/api/get_uuid

获取一个正在通话中的电话的uuid:

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUxNzMyNzUsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTE2OTY3NX0.bcg0zDwqwyczAFzdgzlW3eTwIkE1crHXgr97HJd8Bo8" http://192.168.1.115:8082/api/get_phone_uuid/1002

挂断一个正通话中电话

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyMDU3OTYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTIwMjE5Nn0.WvLVi8D90LavD_BlQENMudGpMMDRF21bwJqnF90H_HM" http://192.168.1.115:8082/api/hangup/1002

hold一个通话

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjMzNzIsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI1OTc3Mn0.f0C4IudCmjZdo1XpRztVhlhPzObWgzxHuzd6ydYVFL8" http://192.168.1.115:8082/api/hold/1002

unhold一个通话

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjMzNzIsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI1OTc3Mn0.f0C4IudCmjZdo1XpRztVhlhPzObWgzxuzd6ydYVFL8" http://192.168.1.115:8082/api/unhold/1002

发起一个呼叫

curl -H "Content-Type: application/json" -d '{"Job_uuid":"1234","Callername":"1002","Callernum":"1002","Calleenum":"1000","A_gatewayname":"","B_gatewayname":"","A_effective_caller_id_num":"1002","B_effective_caller_id_num":"1000","A_external":"false","B_external":"false"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjQ4NjcsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2MTI2N30.FNK8c2CyAfFbHJey7irXJb7C5TtrsRqEDXQJlWZxxzU" http://192.168.1.115:8082/api/originate

按uuid桥接两个通话通道

curl -H "Content-Type: application/json" -d '{"A_uuid":"aleguuid","B_uuid":"bleguuid"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjQ4NjcsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2MTI2N30.FNK8c2CyAfFbHJey7irXJb7C5TtrsRqEDXQJlWZxxzU" http://192.168.1.115:8082/api/bridge

按号码桥接两个通话通道

curl -H "Content-Type: application/json"  -d '{"A_phone":"1002","B_phone":"1003"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjA0NTQsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI1Njg1NH0.BbixrdNhbnaR265dWsoekrhomfglJLJVTF0n1mYrwyI" http://192.168.1.115:8082/api/bridge_phone

park一个通话

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjQ4NjcsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2MTI2N30.FNK8c2CyAfFbHJey7irXJb7C5TtrsRqEDXQJlWZxxzU" http://192.168.1.115:8082/api/park/1002

抢接一个来电

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/intercept/1002

由平台应答

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/answer/1002

按号码监听

curl -H "Content-Type: application/json" -d '{"EvdedPhone":"1002","EvdPhone":"1003","EvdGateway":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/eavesdrop

多方通话

curl -H "Content-Type: application/json" -d '{"EvdedPhone":"1002","EvdPhone":"1003","EvdGateway":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzE0MTQsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzgxNH0.sDzTstNN3Urd2uNZf82qpg0CvaEFHeDuczOi-NTNI3U" http://192.168.1.115:8082/api/threeway

耳语

curl -H "Content-Type: application/json" -d '{"EvdedPhone":"1002","EvdPhone":"1003","EvdGateway":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHiOjE0NjUyNzE0MTQsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzgxNH0.sDzTstNN3Urd2uNZf82qpg0CvaEFHeDuczOi-NTNI3U" http://192.168.1.115:8082/api/whisper

preanswer

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzE3MTAsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2ODExMH0.ElXZwvGwU0VB9Mf1ZN6KRcjEbJXg9QEE3oYEpbjy3s" http://192.168.1.115:8082/api/preanswer/1002

给已answer的通道放音

curl -H "Content-Type: application/json" -d '{"PhoneNumber":"1002","FilePath":"D:\nwaytest.wav","Loopplay":"true"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6kpXVCJ9.eyJleHAiOjE0NjUyNzE3MTAsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2ODExMH0.ElXZwvGwU0VB9Mf1ZN6KRcjEbJXg9QEEN3oYEpbjy3s" http://192.168.1.115:8082/api/playback

中止相关操作

curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzI3MzYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2OTEzNn0.ztfc77equjck1NkMUAM-Qe-anwv0fYSBRTTIyL88PLg" http://192.168.1.115:8082/api/break/1002

录音

curl -H "Content-Type: application/json" -d '{"PhoneNumber":"1002","Filepath":"nwaytestr.wav","Flag":"start","Limit":"0"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzE3MTAsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2ODExMH0.ElXZwvGwU0VB9Mf1ZN6KRcjEbJXg9QEEN3oYEpbjy3s" http://192.168.1.115:8082/api/record

发送dtmf

curl -H "Content-Type: application/json" -d '{"PhoneNumber":"1002","Dtmf":"18621575908"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzE3MTAsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2ODExMH0.ElXZwvGwU0VB9Mf1ZN6KRcjEbJXg9QEEN3oYEpbjy3s" http://192.168.1.115:8082/api/senddtmf

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#会议相关

/这里的会议以3000为主,主被叫号码1002,1003,1000,1004/

    //  conference

//创建一个3000名称的会议室,主持人号码是1002,不经过落地网关

 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","PhoneNumber":"1002","GatewayName":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_create"/conference_create"

//增加一个成员并呼叫

//由系统呼叫号码为1002的号码,不经过落地网关,IsMute为默认是禁止发方与否

    curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","PhoneNumber":"1002","GatewayName":"","IsMute":"false"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_add"/conference_add"

//获得一个会议中某号码的memberid

  curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","CallerNumber":"1002"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_memberid"/conference_memberid"

//踢掉所有与会成员

  curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_kick_all/3000"/conference_kick_all/:conference"

//会议自动增益

   //param on/off//level a numbercurl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","param":"on","level":"4"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_agc"/conference_agc"

//检查录音状态

    curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_chkrecord/3000"/conference_chkrecord"

//禁听
//memberid是用getmemberid获得 //Flag <member_id>|all|last|non_moderator

   curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_deaf"/conference_deaf"

//发送dtmf到会议成员 //Flag <member_id>|all|last|non_moderator

  curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":"", "Dtmf":"520"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_dtmf"/conference_dtmf"

//调整某个会议成员的energy //Flag <member_id>|all|last|non_moderator //Newval

 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":"", "Newval":"520"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_energy"/conference_energy"

//进入会议时的语音 //flag on|off|none|file //Filename Flag为file时有效 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"3","Filename":""}' -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_enter_sound

   "/conference_enter_sound"

//退出会议的语音

  curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"3","Filename":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_exit_sound"/conference_exit_sound"

// "切换会议人员状态" //Flag member_id|all|last|non_moderator

    curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_floor"/conference_floor"

//挂断某个member,但不播放退出音

   curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_hup"/conference_hup"

//挂断某个member,播放退出音

   curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_kick"/conference_kick"

//列出会议 //Flag [pretty|summary|count|delim <string>]

    curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_list/pretty"/conference_list/:flag"

//锁定某个会议,不允许新的人员进入

   curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_lock/3000"/conference_lock/:conference"

//解锁某个会议,允许新的会议人员进入

  curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_unlock/3000"/conference_unlock/:conference"         //

//禁言 //Flag <member_id>|all|last|non_moderator

   curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":"","Quiet":"quiet"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_mute     "/conference_mute"

//允许发言 //Flag <member_id>|all|last|non_moderator

 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":"","Quiet":"quiet"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_unmute                          "/conference_unmute"

//移除当前会议的录音 //Flag <file-path>|all

   curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"all"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_norecord                                           "/conference_norecord"

//会议暂停录音 //Flag <file-path>

  curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"all"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_pause                                                 "/conference_pause"

//设置会议呼入时的口令 //Flag <file-path>

  curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"all"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_pin                                                                                 "/conference_pin"

//播放相关文件给会议 //Flag [{vol=<volume>,full-screen=true,png_ms=100}]<file-path> [async|<member_id> [nomux]]

    curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"all"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_play                                                                                                           "/conference_play"

//会议录音 //Flag <file-path>

    curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"all"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_record                                                                                                                                          "/conference_record"

//会议录音控制

// <confname> recording start <file-path>

// <confname> recording check

// <confname> recording stop <file-path>|all

// <confname> recording pause <file-path>

// <confname> recording resume <file-path>

    curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"start","Filename":"/home/recording/abc.wav"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_recording                                                 "/conference_recording"

//恢复会议录音 //Flag <file-path>

  curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Flag":"/home/recording/abc.wav"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_resume                                                                                                                                                             "/conference_resume"  "/conference_say"

//设置一些会议参数

 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Param":"Value","Filename":"/home/recording/abc.wav"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_set                                                                             "/conference_set"

//停止播放一些语音 //Flag [current|all] [<member_id>]

    curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_stop                          "/conference_stop"

//切换禁言 //Flag <member_id>|all|last|non_moderator

 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":"","Quiet":"quiet"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_tmute                                      "/conference_tmute"

//解除禁听 //Flag <member_id>|all|last|non_moderator

 curl -H "Content-Type: application/json" -d '{"ConferenceName":"3000","Member_id":"3","Flag":""}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/conference_undeaf                                                               "/conference_undeaf"                     //

//移除会议口令

    curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_nopin/3000       "/conference_nopin/:conference"

//暂停播放

  curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_pause_play/3000                       "/conference_pause_play/:conference"

//查询所有正在进行中的会议

  curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conferences

//查询某个会议中的成员列表

  curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/conference_members/3000

座席分机状态相关


//查询所有分机状态

    curl  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNjkyMDMsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NTYwM30.ER1yOKxhBwVqY9IS18DOOZox15eOVUJR7bJF1mjtsfM" http://192.168.1.115:8082/api/extension_info/1002

//设置座席用户的分机的上线下线 up,down

    curl -H "Content-Type: application/json" -d '{"Extension":"1002","Value":"up" }'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/extension_seatstate

//设置座席用户的分机的置闲置忙 idle,busy

  curl -H "Content-Type: application/json" -d '{"Extension":"1002","Value":"idle" }'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/extension_seatstatus

//设置座席用户的分机的呼叫状态 ring,talking,ivr,ready

     curl -H "Content-Type: application/json" -d '{"Extension":"1002","Value":"ready"}'  -H "Authorization:Nway eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0NjUyNzA4MjYsImlkIjoiYWRtaW4iLCJvcmlnX2lhdCI6MTQ2NTI2NzIyNn0.cSUqEoc5hmZ747y6LP6llmfChoOahXN0BOwi-rxDmq8" http://192.168.1.115:8082/api/extension_callstate

转载于:https://my.oschina.net/nway/blog/751217

FreeSWITCH调用接口 监听 多方通话 强转 抢接等,FreeSWITCH电话会议(动态库和restful接口)...相关推荐

  1. Java个人支付宝知宝收款调用_Andriod 监听微信支付宝收款实现个人支付宝支付接口!附安卓 App(开源)...

    界面就这点东西了!只需要设置后端接口,就可以接收这个 APP 监听的支付宝收款数据了,APP 会以 POST 方式向您的接口 POST 一段 JSON 数据. 作者说通过 adb 在控制台查看接收的数 ...

  2. Asterisk中的监听分机、强插、密语功能的实现

    实现方法是通过 楝extensions.conf中的 ExtenSpy(监听分机)和ChanSpy(监听通道).其实ChanSpy有w参数,加W可以实现密语功能,不加则可以实现强插和多方通话功能.

  3. vs可以调用java接口吗_关于vs2010下编译dll动态库,JNA接口在java中调用的问题

    最近在搞关于把vs2010中的project,使之能够在Java下面运行,有一个调用本地接口的问题,JNI那个涉及到复杂细节太多,就使用了最新的JNA(java native access) 网上也给 ...

  4. vue关于监听子组件接收从父组件传过来的动态值的问题

    这几天开发时,发现了一个现象,当我想监听子组件接收的从父组件传过来的值得时候,watch不起作用,查了很多资料,大概的原因是因为watch监听得必须是第一次绑定得值,并且初始值发生了改变得时候才会监听 ...

  5. 使用HttpSessionListener接口监听Session的创建和失效

    HttpSessionListener : Session创建事件发生在每次一个新的session创建的时候,类似地Session失效事件发生在每次一个Session失效的时候. 这个接口也只包含两个 ...

  6. android如何使用BroadcastReceiver后台实现来电通话记录的监听并存取到sqllite数据库通过Contentprovilder实现接口...

    BroadcastReceiver 是android四大组件的一个,本质上是一种全局的监听器,用于监听全局的广播消息.下面实现了后台监听android手机通话记录.本demo分两个程序,第一个程序是设 ...

  7. freeswitch实现监听_Freeswitch监听功能--单向监听

    标签: 1.监听函数:eavesdrop lua脚本中调用监听: local cmd = "originate loopback/3333 &eavesdrop("..uu ...

  8. android 通话状态监听(自定义接听挂断按钮与通话界面,根据公司的业务逻辑可以实现自己的来电秀功能)...

    前言: 因为公司需求,要自定义一款来电秀的app当做周边产品来配合主营的app业务. 之前因为赶项目,没时间整理这块,现在项目告一段落了,现在回头看看感觉这个功能还是挺有意思的,比较有针对性.电话呼入 ...

  9. android监听通话状态

    samsung提审结果报告里: application sound is audible during the call in pop up window //在弹出窗口中的呼叫期间,<缺陷&g ...

最新文章

  1. AVERAGE函数参数说明
  2. 零起点学习WPF之《WPF揭秘》读书笔记(7)——第三章 变更通知
  3. codility上的问题(26) Hydrogenium 2013
  4. 【HeadFirst 设计模式学习笔记】13 MVC分析
  5. 鸿蒙开发-基础组件介绍及chart组件使用
  6. vue 自己写组件。
  7. jackson 中JsonFormat date类型字段的使用
  8. android 足球游戏,足球游戏哪个好玩,安卓单机足球游戏哪个好玩
  9. 兼容彩虹支付系统商户登录模板(彩虹系统版本)
  10. pb90代码如何连接sql2008r2_RabbitMQ各种交换机机制,代码实践篇
  11. 因设备需求超供应预期 摩托罗拉折叠机Razr推迟在美上市时间
  12. Python统计Excel文件中超市营业额明细数据
  13. 一个实际使用的容灾方案
  14. c++图的创建_利用Microsoft Visio 软件绘制工艺流程图
  15. Django index_together设置
  16. 使用RomBuster获取你的网络路由器密码
  17. 第一讲 地理信息系统概述
  18. 测试人员应该具备的几种思维
  19. unity实现简单的地图编辑器,实现跑酷地图编辑器 2d地图编辑器,导出地图json数据,导入地图json数据
  20. 申请一个微信小程序有哪些需要注意的事项

热门文章

  1. php microtime true输出说明,php microtime函数怎么用
  2. JAVA发送POST请求
  3. linux信号之sigsuspend和setitimer
  4. matlab画梅花,学生实习报告【2)(梅彦): 利用MATLAB进行简单曲线的缩放和旋转变换...
  5. 你的微信二维码是唯一的吗 【微信二维码的秘密】
  6. 微信小程序判断数组是否为空
  7. 洛谷 :P5236 【模板】静态仙人掌(圆方树模板 + 仙人掌最短路)
  8. 学计算机专业笔记本买多大尺寸的好,办公用笔记本电脑多大尺寸内存合适
  9. 地图绘制初探——基于maptalks的2.5D地图绘制
  10. 基于虹软人脸识别-iOS画框更改及前后摄像头的切换