我之前的「WordPress 文章查询教程6:如何使用排序相关的参数」中详细介绍了文章查询的排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停的变化,现在又有了新需求,获取最新被评论的文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求的网站可能需要用到...但是使用 SQL 来实现可能就会造成 API 不一致的问题,无法直接使用 WP_Query 进行各种操作,所以最好是通过 posts_clauses 接口实现让 WP_Query 排序参数支持 comment_date...$order}"; } return $clauses; }, 10, 2); 上面的代码简单解释一下,就是通过 posts_clauses 接口实现文章表和评论表连表,然后通过评论时间进行排序获取最新被评论的文章列表...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单的方式就能够获取最新被评论的文章列表: $query = new WP_Query( array
获取 WPF 的依赖项属性的值时,会依照优先级去各个级别获取。这样,无论你什么时候去获取依赖项属性,都至少是有一个有效值的。有什么方法可以获取哪些属性被显式赋值过呢?...如果是 CLR 属性,我们可以自己写判断条件,然而依赖项属性没有自己写判断条件的地方。 本文介绍如何获取以及显式赋值过的依赖项属性。...---- 需要用到 DependencyObject.GetLocalValueEnumerator() 方法来获得一个可以遍历所有依赖项属性本地值。...因此,你不能在这里获取到常规方法获取到的依赖项属性的真实类型的值。 但是,此枚举拿到的所有依赖项属性的值都是此依赖对象已经赋值过的依赖项属性的本地值。如果没有赋值过,将不会在这里的遍历中出现。...,同时有更好的阅读体验。
//获取的是 CallerA函数的调用者的调用栈 pc1, file1, lineNo1, ok1 := runtime.Caller(1) } 函数的返回值为调用栈标识符、带路径的完整文件名...、该调用在文件中的行号。...获取调用者的函数名 runtime.Caller 返回值中第一个返回值是一个调用栈标识,通过它我们能拿到调用栈的函数信息 *runtime.Func,再进一步获取到调用者的函数名字,这里面会用到的函数和方法如下...真正要实现日志门面之类的类库的时候,可能是会有几层封装,想在日志里记录的调用者信息应该是业务代码中打日志的位置,这时要向上回溯的层数肯定就不是 1 这么简单了,具体跳过几层要看实现的日志门面具体的封装情况...总结 今天介绍了通过 runtime.Caller 回溯调用栈获取调用者的信息的方法,虽然强大,不过频繁获取这个信息也是会对程序性能有影响。
FreeSWITCH的一个重要特性是Event Socket Library(ESL),它是一个用于与FreeSWITCH事件系统交互的C语言库,可以支持多种编程语言,如Python,Ruby,Perl...本文将介绍如何在FreeSWITCH中开启Event Socket Language(ESL)支持,以及如何使用golang语言来编写ESL应用程序。...这个参数可以根据需要进行修改,也可以添加其他的访问控制列表(ACL)来限制连接的来源。 将nat-map参数的值设置为false,表示不使用NAT映射。...可以用文本编辑器打开这个文件,进行如下的修改: 在标签中,添加一个标签,表示匹配所有的呼叫目标。 在标签中,添加一个标签,表示执行一个socket命令,连接到上述的Event Socket服务器。...总结 本文介绍了如何在FreeSWITCH中开启Event Socket Language(ESL)支持,以及如何使用Golang语言来编写ESL应用程序。
他们能够使用WebRTC数据通道和WebRTC音频来实现这一点,但我真的没有找到任何使用WebRTC视频的方法,因此开始了如何在3D环境中使用实时视频的挑战。...体验相关的所有内容。...修改Verto 你可以看到,当链接被调用时,它将创建一个新的“a-video”元素,并为其提供宽度和高度的一些属性,以及将其放置在我们的3D环境中的位置。...这让A-Frame可以发挥其神奇作用——从资产中获取数据并将其加载到在3D环境中显示的“a-video”标签内的画布上。...所有代码 代码可以在我的bitbucket(https://bitbucket.org/nimbleape/freeswitch/branches/compare/webvr..
如果你提交BUG时,官方也只对Git master分支中的代码提供支持。而且,从源代码安装FreeSWITCH,也不需要PAT。...由于 FreeSWITCH 更新非常快,请自己查找最新的版本,如,截止 2022年6月4日,最稳定的发行版是:1.10.7。...最新的源代码将Sofia-SIP和SpanDSP移出了FreeSWITCH代码仓库,分离到了独立的仓库中,在安装FreeSWITCH之前需要单独安装: https://github.com/freeswitch...获取中文帮助信息,可以到RTS.cn上的Github Discussions讨论区讨论,国内用户可以通过本站的相关链接加入知识星球、QQ群、微信群等。...对方可能对你提的问题不专业。相反,如果你发到公共列表或群里,更多的网友能看见,就有更多的机会得到帮助。 你这样做可能不是很礼貌。
在开发FreeSWITCH的过程中我也遇到了段错误和死锁(在前面遇到的多,后来就少了)。但是,我从核心开始做起,并从中走了出来。由于所有信道都有它们自己的线程,有时候你需要与它们进行交互。...我通过使用一个读、写锁,使得可以从一个散列表(哈希)中查找信道而不必遍历一个线性链表,并且能绝对保证当一个外部线程引用到它时,一个信道无法被访问也不能消失。...FreeSWITCH由几个模块接口组成,列表如下: 拨号计划(Dialplan): 实现呼叫状态,获取呼叫数据并进行路由。 终点(Endpoint): 为不同协议实现的接口,如SIP,TDM等。...应用(Applications): 可以在一次呼叫中执行的程序,如语音信箱(Voicemail)。...我甚至还收集了很多过去曾经以为已经丢失的代码,放到我个人的网站上供大家使用, 也算是作为我对引导我进入电话领域的这一工程的感激和美好祝愿吧。
,获取参数中的sip帐号信息 2、根据sip帐号信息,从数据库查询相应的用户信息 3、用户为空时直接返回注册失败的xml 4、用户不为空时生成注册的xml信息 5、使用sip信息,参数:sip_to_host...(ip地址)以及数据库中获取的密码信息:pwd,进行md5加密,加密失败时返回注册失败的xml信息 6、生成参数map,调动方法:replaceArgsNew,或者使用beel工具类,根据模版生成注册的...Freeswitch呼出时,或者收到呼入信息时,会调用接口:dial获取拨号方案信息, 获取参数: Hunt-Caller-ID-Number 主叫号码 Caller-Destination-Number...:dial_tab中获取拨号方案信息时,则循环查询拨号方案列表,根据被叫前缀,即call_prefix,来获取相应的拨号方案信息,根据拨号方案信息,转接到指定的网关即可。...4、上述描述的为多个拨号方案列表的情况,我们可根据拨号方案表中的信息,自由设定返回相应的拨号方案给freeswitch,当只有一个拨号方案时,我们可直接返回即可,freeswitch将根据我们返回的拨号方案进行匹配判断是否符合
本文来自FreeSWITCH 中文社区创始人杜金房在LiveVideoStack线上交流分享中的演讲,详细介绍了FreeSWITCH的功能特性、架构以及现状。...,成为过去十年人们沟通交流所使用最为频繁的工具;同时由于互联网技术的突飞猛进,越来越多的人有机会享用海量网络资源,基于互联网传输实现的各种实时通讯APP应运而生。...传统的模拟电话通过传输模拟信号实现远距离声音传输,而随着传输距离的增大与传输条件的变化,模拟信号会在传输过程中遭受明显衰减,这就需要安装在接收端的信号放大器处理接收到的模拟信号从而使其中的关键信息更容易被获取...FreeSWITCH是一个开源的软交换系统,所谓的软交换是指不考虑终端类型,所有话机都可以通过FreeSWITCH与其他设备互联互通。...我们在FreeSWITCH内部写入了一个模块便于所有设备与FreeSWITCH建立通信,从而实现如果有任何一方接入通信至FreeSWITCH,与FreeSWITCH连接的其他所有设备都可同步进行通信。
昨天在写这篇文章的时候,我的Mac的Spotlite突然又在后台建立索引,显示只剩下4分钟,但是一个4分钟过去了,两个4分钟过去了……20个4分钟过去的时候它还没有完,而且,由于我中途切换了几次窗口导致系统彻底失去响应...输入 1 或 m 可以查看主菜单,主菜单将列出本社区所有的文章,然后输入相应的号码就可以查看文章内容了,如,输入 1225 可以查看“圣诞快乐”那篇文章。 闲话少叙。...今天再看一下前天的LuaSocket问题,并说一下如何汇报Bug。 前天我发了LuaSocket的设置方法后,那位网友今天在QQ群中说好像还没搞定。...在Jira上提交一个Issue,填上相应的字段,并把如何重现该问题,以及上面gdb的输出结果存到文件中,以附件的形式添加上,就是一个完整的Bug Report了。...FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码
今天,看大家在QQ群中聊到不知道如何在FreeSWITCH中将SIP Trace的结果放入日志文件中。我便答应大家我今晚研究一下。 事情的起因是这样的。...FreeSWITCH内置了SIP Trace,可以很方便的在控制台或fs_cli中抓到SIP消息,配合日志调试起来非常方便。...以前我应该也讲过,在FreeSWITCH中开启SIP Trace的命令是: sofia global sip trace on 当然,也可以单独针对某个Profile开启或关闭日志,如:...在FreeSWITCH中,日志是有级别的,一般来说就是上面列的一些级别。当然,上面没有包括一个特殊的级别,那就是 console 级别。...如果你在学习和使用FreeSWITCH的过程中,有什么有趣的故事,也欢迎与我分享。移动设备上打字不方便,如果想写长的留言可以发邮件到 wechat@freeswitch.org.cn 。
在如何在XSwitch中使用ASR及TTS中提到,XSwitch内置了很多ASR/TTS模块,但大多数的ASR/TTS服务都是云厂商提供的。...到【呼叫】⇨【路由】中,新建一条路由: 名称:tts,也可以随意 被叫字冠:tts,也可以是其它号码,如1234等 呼叫源:default 目的地类型:高级功能/系统 新出现的“文本”框中填入以下内容:...简单使用: 到【呼叫】⇨【路由】中,新建一条路由: 名称:asr,也可以随意 被叫字冠:asr,也可以是其它号码,如1234等 呼叫源:default 目的地类型:高级功能/系统 新出现的“文本”框中填入以下内容...,仅用于xcc_detect_speech,不适用于在核心中调用。...asr-result-fire-switch-event:发送原生FreeSWITCH Detected Speech事件,可以在ESL中获取。
前言文本主要介绍如何在网页web端上注册sip账户,进而实现拨打和接听电话。不用再额外安装sip软电话软件以及实体的电话机,方便CRM等系统集成电话呼叫。...但是需要在网页web端上注册sip账户之前,获取到ssl证书,这个ssl证书是需要购买的。ssl证书是一种非常重要的安全工具,它可以帮助保护网站的数据安全,防止被黑客攻击或窃取。...当一个网站想要获得SSL证书时,它需要向CA提交一些信息,如网站所有者的身份证明、网站的域名等。然后,CA会对这些信息进行核实,如果确认无误,就会签发一个SSL证书。...如果不知道 freeswitch的存放证书的目录在哪里,可以在freeswitch控制台中输入“global_getvar certs_dir”命令获取到目录,也可在ssh终端中输入“fs_cli -x...“global_getvar certs_dir””命令,同样可以获取到。
在QQ群里老是看到有的朋友问到不同的模块都是干什么的。因此,我打算从今天起,把所有的模块都大体讲一遍。如果有时间我就多写点例子,时间少的话就写少点。...当然,说到模块,我们还得从FreeSWITCH的架构说起。我们先用一两天的间说一下FreeSWITCH的整体架构以及模块列表,然后,就可以式一一介绍所有模块了。...其中,Endpoint,也就是我们一般说的终点模块,实现了不同的具体的协议的处理。如,最重要的模块mod_sofia就是一个终点模块,它实现了SIP协议。...在安装完成后,则可以通过FreeSWITCH安装目录(一般是/usr/local/freeswitch)中的conf/autoload_configs/modules.conf.xml文件配置FreeSWITCH...FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码
随着时代的发展,TLS也慢慢成了SIP通信的标配,下面我们来看一下如何在XSwitch中开启TLS支持。...使用自签名证书 TLS需要使用证书,XSwitch默认安装会有一个自签名的证书/usr/local/freeswitch/certs/tls.pem,我们先使用该证书演示TLS配置。...首先,打开【高级】⇨【SIP】,选择一个SIP Profile,进入,修改并开启所有TLS相关的配置参数,如: tls:true,是否开启TLS支持 tls-bind-params:transport=...fullchain.pem 客户的私钥.pem > tls.pem 使用它替换掉XSwitch中的tls.pem即可。...本文的内容同样适用于FreeSWITCH。
网页视频实时通话最大的优势就是“标准化”,它解决的问题就是给所有需要进行实时通信的终端提供一套统一的、开放的实时通信能力描述和连接建立标准,只要符合网页视频实时通话的规范,通信终端的形态和运行环境就是透明的...之前我们介绍了视频会议系统在手机端使用的必备要求,本文我们继续来看一下EasyRTC的相关技术实现:如何启动EasyRTC中freeswitch的Web服务器?...那我们能不能通过http接口获取到EasyRTC下freeswitch的相关状态?freeswitch提供了相关的http接口获取,控制freeswitch的相关状态。...3)使用方法: 在浏览器地址栏输入 http://192.168.99.180:8080 ,192.168.99.180 此地址为FreeSWITCH所在主机 的 IP 。...args 如:status 命令 http://192.168.99.180:8080/webapi/status ?
· srs Endpoint · FreeSWITCH中实现了一个srs Endpoint,除FreeSWITCH标准Endpoint参数外,还支持如下参数: video_use_audio_ice:在...app=live&stream=livestream}srs/auto_answer) 如果你手上有SIP视频话机,可以将一个视频话机(如1006)的视频流推给SRS,如: bgapi originate...如,在FreeSWITCH中,添加一个dialplan extension: 何在XSwitch中使用SRS供参考。...小樱桃维护的FreeSWITCH代码分支,目前来看不大可能合并到官方的FreeSWITCH中,因此,如果你想使用开源的FreeSWITCH与SRS对接,可以使用小樱桃团队维护的FreeSWITCH代码分支
架构 从通信到AI FreeSWITCH与WebRTC FreeSWITCH是一个开源的软交换平台,具有模块化结构,支持包括WebRTC在内的多种互通互联。...本文来自FreeSWITCH 中文社区创始人杜金房在LiveVideoStack线上交流分享中的演讲,详细介绍了FreeSWITCH的功能特性、架构以及现状。...本文对过去和现在流行的 Web 实时推送技术进行了比较与总结。...WebRTC Android H264编解码适配 自从Cisco宣布旗下的H264 Codec开源为OpenH264,并且替所有OpenH264的使用者支付了H264的专利费,WebRTC也随随对H264...我们知道,对于帧间编码的宏块,其划分方式可以分为两步,其一为宏块级划分,其二为子宏块级划分。 H.264/AVC视频编解码技术详解:参考帧列表 解码不同的帧类型时,参考帧列表不同。
本文由FreeSWITCH 中文社区创始人杜金房在LiveVideoStack线上分享的演讲内容整理而成,详细介绍了FreeSWITCH做为一种开源的视频会议解决方案如何在开源、开放的基础上,对接各种无法修改的...开源的视频会议因为是开源、开放的,使用的是开放的API,因此更多的是使用开放协议如SIP协议。 目前WebRTC比较火,所有的视频会议设备基本都在支持WebRTC,在浏览器里就可以打电话。...当然一般公司会做自己的APP,需要进行注册、鉴权等,已经有信令服务,那么只需要调用FreeSWITCH的API,就可以控制发起呼叫、录音等,实现互联互通。...ASR/TTS FreeSWITCH还支持ASR/TTS,当然并不是原生的支持,而是通过调用一些第三方的SDK实现,这样就可以实现智能控制,甚至做自动会议记录、自动翻译等等。...FreeSWITCH当前已经支持ICE,在ICE打不通的时候,也可以用Stun/TURN服务器进行打通。 还有一些应用如银行,由于情况特殊不能开太多端口。
要不,就直接回归拼音吧,我记得小时间的标志牌都是中文和拼音并排的,如“新华书店”上面就挂着“XIN HUA SHU DIAN”。 好了,不扯这些了,今天说说mod_portaudio。...与mod_sofia不同,mod_sofia实现了SIP,而mod_portaudio实现了驱动本地声卡,即,它可以从本地麦克风获取输入,并将声音从耳机中播放出来。...,它列出了所有的声音设备。...FreeSWITCH-CN同时也是一个微信公共账号,可以通过点击本页最顶端的“FreeSWITCH中文社... ”,或在通迅录->订阅号中搜索“FreeSWITCH-CN”来订阅,也可以到官方网站上扫描二维码...如果你在学习和使用FreeSWITCH的过程中,有什么有趣的故事,也欢迎与我分享。移动设备上打字不方便,如果想写长的留言可以发邮件到 wechat@freeswitch.org.cn 。
领取专属 10元无门槛券
手把手带您无忧上云