我正在寻找一个好的SIP库,用C#编写或提供C#包装器.不一定需要是免费的.有人用过什么好东西吗?
为了澄清,我说的是VoIP协议SIP.
我真的在寻找一个谷歌搜索这个.我想有人回来说"我们使用______,而且效果很好."
为了进一步说明,我正在寻找一个可以帮助我实现SIP代理服务器的库,而无需手动构建SIP数据包.我不是在寻找星号,freeswitch或任何其他的pbx软件.
我期待在C#中创建一个服务,它将等待SIP数据包并响应它们,我想要一个可以处理大部分细节的库.
我的任务是调查编写iPhone应用程序以访问我们的内部VoIP/SIP系统的可行性.
我之前从未编写任何接近VoIP的编码.C或Objective-C中是否有任何开源VoIP/SIP库或示例?
一个iOS应用程序,我可以皮肤和添加我们所需的功能(主要是UI相关)将是这里的圣杯.
我正在尝试与内部服务器(使用PJSIP库)建立SIP通信,但是,此服务器需要一个具有指定标头值的自定义标头字段REGISTRATION.例如,我们称之为必需的标题MyHeader.
根据我的发现,该pjsua_acc_add()函数将添加一个帐户并使用config结构将其注册到服务器.
reg_hdr_listconfig结构的参数有以下描述:
要在注册请求中添加的可选自定义SIP标头.
这听起来正是我需要的,但似乎对呼叫本身没有任何影响.
这是我到目前为止所拥有的:
pjsua_acc_config cfg;
pjsua_acc_config_default(&cfg);
//...Some other config stuff related to the server...
pjsip_hdr test;
test.name = pj_str("MyHeader");
test.sname = pj_str("MyHdr");
test.type = PJSIP_H_OTHER;
test.prev = cfg.reg_hdr_list.prev;
test.next = cfg.reg_hdr_list.next;
cfg.reg_hdr_list = test;
pj_status_t status;
status = pjsua_acc_add(&cfg, PJ_TRUE, &acc_id);
Run Code Online (Sandbox Code Playgroud)
从服务器端,没有额外的头字段或任何东西.并且用于定义header(pjsua_hdr)的结构没有value或等效字段,所以即使它确实创建了标题,它如何设置值?
编辑:我找到了一个同事的解决方案:
struct pjsip_generic_string_hdr CustomHeader;
pj_str_t name = pj_str("MyHeader");
pj_str_t value = pj_str("HeaderValue");
pjsip_generic_string_hdr_init2(&CustomHeader, &name, &value); …Run Code Online (Sandbox Code Playgroud) 我正在寻找C++中的RTP/RTSP库.我找到了pjsip,但它更像C风格.我正在寻找更多的OO库.
我需要编写python应用程序连接到作为SIP服务器运行的trixbox.但我没有找到任何在python中实现的库.我在http://www.vaxvoip.com/找到了SIP SKD,但它不支持python.任何人都可以建议我替代VaxVoip吗?谢谢.
我需要在Android上创建一个SIP堆栈,它将与asterix一起使用,并为用户提供更改编解码器的可能性(我需要实现G729和其他一些编解码器).我是这个领域的新手(语音和编解码器),每一点信息都会受到赞赏.在我通过互联网进行的研究中,我发现了以下SIP堆栈:
您建议将什么用于商业计划?或者你可以推荐其他一些?对于我的特殊情况,它必须支持G729编解码器.
我知道漂亮的UDP和TCP之间的差异一般(如http://www.onsip.com/about-voip/sip/udp-versus-tcp-for-voip)
问题是,在什么情况下使用TCP作为传输在SIP VOiP通信中具有明显的优势?
我想为iPhone开发一个VoIP应用程序.
但我不知道VoIP概念的基础知识,也不知道我可以在我的应用程序中使用任何可用的源或库.
因此,如果任何人都可以为我提供VoIP学习资源或库或任何对VoIP和iPhone有用的东西,那对我来说将是宝贵的.
我正在使用mjsip sip堆栈进行软件电话项目.Mjsip仅支持g711或PCMA/PCMU编解码器.我已将G729添加到我的项目中.当我构建项目时,它没有显示错误.但是当手机连接时,呼叫建立,没有语音传输,实际上我的应用程序不生成任何rtp数据包.并在日志中显示错误
java.lang.NullPointerException
RtpStreamReceiver - run -> Terminated.
at local.media.RtpStreamReceiver.run(RtpStreamReceiver.java:171)
Run Code Online (Sandbox Code Playgroud)
我没找到错误.
这是我的RtpStreamReceiver.java类.
package local.media;
import local.net.RtpPacket;
import local.net.RtpSocket;
import java.io.*;
import java.net.DatagramSocket;
import org.flamma.codec.SIPCodec;
/** RtpStreamReceiver is a generic stream receiver.
* It receives packets from RTP and writes them into an OutputStream.
*/
public class RtpStreamReceiver extends Thread {
public static int RTP_HEADER_SIZE = 12;
private long start = System.currentTimeMillis();
public static final int SO_TIMEOUT = 200; // Maximum blocking time, spent waiting for reading new bytes [milliseconds]
private …Run Code Online (Sandbox Code Playgroud)