7

到目前为止,我正在尝试通过 pjsip 发送短信,但没有运气。

该帐户已在服务器上注册,并且我收到了注册成功响应,但我找不到任何展示如何发送短信的好教程。

我在网上找到了这本书,但它仍然没有给我任何关于如何使用这个库的例子: http ://www.scribd.com/doc/90092246/Pjsip-Dev-Guide#outer_page_48

我知道我应该使用:

pjsip_endpt_create_request(pjsip_endpoint *endpt, const pjsip_method method, const pj_str_t *target, const pj_str_t *from, const pj_str_t *to, , const pj_str_t *call_id, int cseq, const pj_str_t *text, pjsip_tx_data **p_tdata);

pjsip_endpt_acquire_transport(pjsip_endpoint *endpt, pjsip_transport_type_e type, const pj_sockaddr_t *remote, int addr_len, const pjsip_tpselector *sel, pjsip_transport **p_tp)

但除了这些,我不知道。

注意:我不想要即时消息,如果可能的话,我希望将文本作为 SMS 传递。它需要在 pjsip 中完成,没有其他库(不幸的是没有灵活性)。

提前致谢!

4

2 回答 2

12

好的,我在这里再次回答我自己与 pjsip 相关的问题。我希望这个库有适当的文档,其中函数调用可以更好地解释它们的作用。

让我感到困惑的一件事是本开发人员指南中有:http ://www.pjsip.org/release/0.5.4/PJSIP-Dev-Guide.pdf

有2个主题。1 是消息元素以及如何创建请求。另一个是即时通讯。我不确定 SMS 需要哪个。原来,它是即时通讯。

唯一需要的功能是:

pjsua_im_send(pjsua_acc_id acc_id, const pj_str_t *to, const pj_str_t *mime_type, const pj_str_t *content, const pjsua_msg_data *msg_data, void *user_data);

第一个变量 acc_id 是在应用程序 SIP 注册开始时初始化的。

第二个变量是您希望将消息发送到的号码。我这样初始化它:

"sip:16476804556@sipserverdomain.com"

第三个变量用于发送 MIME。我没有用这个。所以它是NULL。

第四个变量是消息体本身。

例如:

pj_str_t text;
const char *msgText = [@"Hello there!" UTF8String];

text = pj_str((char*)msgText);

然后我将:传递&text给函数。

第五个变量是味精数据。再次,没有使用它。它是空的。

第六个变量是用户数据。这个也没用过。空值。

最后,这是函数调用的样子:

 pjsua_im_send(app._sip_acc_id, &to, NULL, &text, NULL, NULL);

希望这可以帮助有类似问题的人!-c0d3Junk13

于 2012-09-17T17:37:35.617 回答
4

SMS 本质上是发送到 phonenumber@serviceprovider.com 的电子邮件。我没有使用过 pjsip,但是我可以使用Chilkat库很容易地传递 SMS。例如发送电子邮件的代码,您可以在他们的网站上找到它。

于 2012-09-14T23:11:48.680 回答