如何使用pjsua2机器人发送SIP消息 [英] How to send SIP messages using pjsua2 android

查看:2124
本文介绍了如何使用pjsua2机器人发送SIP消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图用pjsua2发送消息。但它抛出一个异常。请给我建议。

下面是我的code

 公共无效sendInstantMessage(字符串buddy_uri){

    buddy_uri =SIP:aaaaa@xxx.yyyyyy.zzz;

    BuddyConfig CFG =新BuddyConfig();
    cfg.setUri(buddy_uri);
    cfg.setSubscribe(真正的);

    MyBuddy IM =新MyBuddy(CFG);
    SendInstantMessageParam PRM =新SendInstantMessageParam();
    prm.setContent(这是X,发送消息);

    布尔有效= im.isValid();
    Log.e(TAG,有效=======+有效);
    尝试 {
        im.sendInstantMessage(PRM);
    }赶上(例外五){
        Log.e(TAG,sendInstantMessage ====+ E);
        e.printStackTrace();
        返回;
    }

}
 

它抛出一个异常,这里是日志

  05-27 15:42:40.705:E / SipApi(27611):有效=======假
05-27 15:42:40.706:A /的libc(27611):../src/pjsua-lib/pjsua_$p$ps.c:231:pjsua_buddy_get_info:断言pjsua_buddy_is_valid(buddy_id)失败
 

解决方案

最后,我用发送短信PJSIP-2.4

解决方案

下面是code

  / **发送短信到这个号码
 * @参数串号
 * @参数字符串msgBody * /
公共无效sendInstantMessage(串号,串msgBody){
    字符串sipServer =aaa.ggg.net;
    字符串buddy_uri =< SIP:+数字+@+ sipServer +>中;

    BuddyConfig执行bcfg =新BuddyConfig();
    bCfg.setUri(buddy_uri);
    bCfg.setSubscribe(假);

    MyBuddy myBuddy =新MyBuddy(与bcfg);
    SendInstantMessageParam PRM =新SendInstantMessageParam();
    prm.setContent(msgBody);

    尝试 {
        myBuddy.create(帐户,执行bcfg);
        myBuddy.sendInstantMessage(PRM);
        myBuddy.delete();
    }赶上(例外五){
        e.printStackTrace();
        返回;
    }
}
 

I am trying to send messages with pjsua2. But it is throwing a exception. Please suggest me.

Here is my code

public void sendInstantMessage(String buddy_uri) {

    buddy_uri = "sip:aaaaa@xxx.yyyyyy.zzz";

    BuddyConfig cfg = new BuddyConfig();
    cfg.setUri(buddy_uri);
    cfg.setSubscribe(true);

    MyBuddy im = new MyBuddy(cfg);
    SendInstantMessageParam prm = new SendInstantMessageParam();        
    prm.setContent("Hi This is X, sending message");

    boolean valid = im.isValid();
    Log.e(TAG, "valid ======= "+valid);
    try {
        im.sendInstantMessage(prm);
    } catch (Exception e) {
        Log.e(TAG, "sendInstantMessage ==== "+e);
        e.printStackTrace();
        return;
    }

}

It throwing a exception and here is log

05-27 15:42:40.705: E/SipApi(27611): valid ======= false
05-27 15:42:40.706: A/libc(27611): ../src/pjsua-lib/pjsua_pres.c:231: pjsua_buddy_get_info: assertion "pjsua_buddy_is_valid(buddy_id)" failed

解决方案

Finally I got the solution for sending SMS using pjsip-2.4

Here is the code

/**Send message to this number
 * @param String number
 * @param String msgBody*/
public void sendInstantMessage(String number, String msgBody) {
    String sipServer = "aaa.ggg.net";
    String buddy_uri = "<sip:" + number + "@" + sipServer + ">";

    BuddyConfig bCfg = new BuddyConfig();
    bCfg.setUri(buddy_uri);
    bCfg.setSubscribe(false);

    MyBuddy myBuddy = new MyBuddy(bCfg);
    SendInstantMessageParam prm = new SendInstantMessageParam();
    prm.setContent(msgBody);

    try {
        myBuddy.create(account, bCfg);
        myBuddy.sendInstantMessage(prm);
        myBuddy.delete();
    } catch (Exception e) {
        e.printStackTrace();
        return;
    }
}

这篇关于如何使用pjsua2机器人发送SIP消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆