pjsipクライアントをセットアップしてメッセージを受け取る方法については、誰でも良い例が分かります。 私が使用してクライアントからメッセージを送信することができます任意の番号にpjsip receive sms
pjsua_im_send(sip_acc_id, &to, NULL, &msgbody, NULL, NULL);
を。
しかし、私はすでに登録されているSIPアカウントにメッセージを受け取るために何をすべきか分かりません。
すべての情報をいただければ幸いです。
注:私はpjsipしか使用できず、他のライブラリは使用できません。
編集:いくつかの新しいものは、私が見つかりました:
http://trac.pjsip.org/repos/ticket/1070
http://www.pjsip.org/release/0.5.4/PJSIP-Dev-Guide.pdf(ただし、すべてこの文書はこれが入ってくるのMSGについてこう述べています。MESSAGE
を受け16.1.2
ダイアログボックスの外側にある着信メッセージリクエストは、アプリケーションによって受信されます モジュール。 ダイアログ内の着信MESSAGEリクエストは、ダイアログのコールバック on_tsx_state()経由でダイアログ使用に通知されます。
まだ着信メッセージを処理する方法についてはあまり光を当てません。
http://www.ietf.org/rfc/rfc3261.txt
http://trac.pjsip.org/repos/wiki/SIP_Message_Buffer_Event
EDIT2:私はon_pager機能は、この機能を使用する必要があることを言われてきました。だから私は試みましたが、残念ながらまだ成功していません。ここで
は私がやったことです:
/* Initialize application callbacks */
app_config->cfg.cb.on_call_state = &on_call_state;
app_config->cfg.cb.on_call_media_state = &on_call_media_state;
app_config->cfg.cb.on_incoming_call = &on_incoming_call;
app_config->cfg.cb.on_reg_state = &on_reg_state;
app_config->cfg.cb.on_pager = &on_pager;
そしてon_pager実装:
static void on_pager(pjsua_call_id call_id, const pj_str_t *from, const pj_str_t *to, const pj_str_t *contact, const pj_str_t *mime_type, const pj_str_t *body) {
NSLog(@"**************** on_pager called **********************");
AppDelegate *app = (AppDelegate *)[AppDelegate sharedApplication];
pjsua_call_info ci;
pjsua_call_get_info(call_id, &ci);
PJ_UNUSED_ARG(call_id);
PJ_UNUSED_ARG(to);
PJ_UNUSED_ARG(contact);
PJ_UNUSED_ARG(mime_type);
[app ring];
//PJ_LOG(3,(THIS_FILE, "MESSAGE from %.*s: %.*s (%.*s)", (int)from->slen, from->ptr, (int)text->slen, text->ptr, (int)mime_type->slen, mime_type->ptr));
postMessageStateNotification(call_id, &ci);
}
私は、メッセージを受信したときに、アプリケーションがon_pager呼び出すように期待していたが、それはしませんでした。しかし、 on_incoming_call
が呼び出されます。