到目前为止,我正在尝试通过pjsip发送sms消息,但没有成功。
该帐户在服务器上注册,我收到注册成功响应,但我找不到任何好的教程,说明如何发送短信。
我在网上找到了这本书,但它仍然没有给我任何如何使用这个库的例子: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中完成,没有其他库(不幸的是没有灵活性)。
提前感谢!
发布于 2012-09-18 01:37:36
好了,这里我再一次回答我自己关于pjsip的问题。我希望这个库有适当的文档,其中对函数调用有更好的解释。
有一件事让我感到困惑,那就是在这个开发人员指南中:http://www.pjsip.org/release/0.5.4/PJSIP-Dev-Guide.pdf
有两个主题。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);SIP 变量acc_id是在应用程序注册开始时初始化的变量。
sent 变量是您想要将消息发送到的号码。我将它初始化为:
"sip:16476804556@sipserverdomain.com"的第三个变量是用来发送MIME的。我没有用这个。所以它是空的。
第4个变量是消息体本身。
例如:
pj_str_t text;
const char *msgText = [@"Hello there!" UTF8String];
text = pj_str((char*)msgText);然后我将:&text传递给函数。
第5个变量是消息数据。再说一次,我没有使用它。它是空的。
第6个变量是用户数据。也没有用到这个。空。
最后,函数调用如下所示:
pjsua_im_send(app._sip_acc_id, &to, NULL, &text, NULL, NULL);希望这对有类似问题的人有所帮助!-c0d3Junk13
发布于 2012-09-15 07:11:49
短信本质上是发送给phonenumber@serviceprovider.com的电子邮件。我没有使用过pjsip,但是我能够很容易地使用Chilkat库来传递短信。例如发送电子邮件的代码,你可以在他们的网站上找到。
https://stackoverflow.com/questions/12432321
复制相似问题