⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ota_prov.c

📁 The Kannel Open Source WAP and SMS gateway works as both an SMS gateway, for implementing keyword b
💻 C
📖 第 1 页 / 共 2 页
字号:
        msg->sms.msgdata = octstr_create("");    /* PUSH ID, PDU type, header length, value length */    octstr_append_from_hex(msg->sms.msgdata, "01062C1F2A");    /* MIME-type: application/x-wap-prov.browser-settings */    octstr_format_append(msg->sms.msgdata, "%s",                          "application/x-wap-prov.browser-settings");    octstr_append_from_hex(msg->sms.msgdata, "00");    /* charset UTF-8 */    octstr_append_from_hex(msg->sms.msgdata, "81EA");    /* WSP layer (end WSP headers) */    /*     * WSP layer (start WSP data field)     */    /* WBXML version 1.1 */    octstr_append_from_hex(msg->sms.msgdata, "0101");    /* charset UTF-8 */    octstr_append_from_hex(msg->sms.msgdata, "6A00");    /* CHARACTERISTIC_LIST */    octstr_append_from_hex(msg->sms.msgdata, "45");    /* CHARACTERISTIC with content and attributes */    octstr_append_from_hex(msg->sms.msgdata, "C6");    /* TYPE=ADDRESS */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_TYPE_ADDRESS);    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* bearer type */    if (bearer != -1) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=BEARER, VALUE=GSM_CSD */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_BEARER);        octstr_append_char(msg->sms.msgdata, bearer);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* IP address */    if (ipaddr != NULL) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=PROXY, VALUE, inline string */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_PROXY);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(ipaddr));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* connection type */    if (connection != -1) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=PORT, VALUE */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_PORT);        octstr_append_char(msg->sms.msgdata, connection);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* phone number */    if (phonenum != NULL) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=CSD_DIALSTRING, VALUE, inline string */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_CSD_DIALSTRING);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(phonenum));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* authentication */    /* PARM with attributes */    octstr_append_from_hex(msg->sms.msgdata, "87");     /* NAME=PPP_AUTHTYPE, VALUE */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_PPP_AUTHTYPE);    octstr_append_char(msg->sms.msgdata, authent);    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* user name */    if (username != NULL) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=PPP_AUTHNAME, VALUE, inline string */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_PPP_AUTHNAME);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(username));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* password */    if (passwd != NULL) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=PPP_AUTHSECRET, VALUE, inline string */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_PPP_AUTHSECRET);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(passwd));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* data call type */    if (calltype != -1) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=CSD_CALLTYPE, VALUE */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_CSD_CALLTYPE);        octstr_append_char(msg->sms.msgdata, calltype);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* speed */    /* PARM with attributes */    octstr_append_from_hex(msg->sms.msgdata, "87");    /* NAME=CSD_CALLSPEED, VALUE */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_CSD_CALLSPEED);    octstr_append_char(msg->sms.msgdata, speed);    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* end CHARACTERISTIC TYPE=ADDRESS */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* homepage */    if (url != NULL) {        /* CHARACTERISTIC with attributes */        octstr_append_from_hex(msg->sms.msgdata, "86");        /* TYPE=URL */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_TYPE_URL);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(url));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* CHARACTERISTIC with content and attributes */    octstr_append_from_hex(msg->sms.msgdata, "C6");    /* TYPE=NAME */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_TYPE_NAME);    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* service description */    if (desc != NULL) {        /* PARAM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=NAME, VALUE, inline */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_NAME);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(desc));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* end of CHARACTERISTIC */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* end of CHARACTERISTIC-LIST */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* WSP layer (end WSP data field) */    msg->sms.sender = from;    msg->sms.receiver = octstr_duplicate(receiver);    msg->sms.coding = DC_8BIT;        msg->sms.time = time(NULL);                                  octstr_destroy(url);    octstr_destroy(desc);    octstr_destroy(ipaddr);    octstr_destroy(phonenum);    octstr_destroy(username);    octstr_destroy(passwd);    return msg;}Msg *ota_tokenize_bookmarks(CfgGroup *grp, Octstr *from, Octstr *receiver){    Octstr *url, *name;    Msg *msg;        url = NULL;    name = NULL;    url = cfg_get(grp, octstr_imm("url"));    name = cfg_get(grp, octstr_imm("name"));        msg = msg_create(sms);    /*     * Append the User Data Header (UDH) including the lenght (UDHL)     * WDP layer (start WDP headers)     */        msg->sms.sms_type = mt_push;    msg->sms.udhdata = octstr_create("");    octstr_append_from_hex(msg->sms.udhdata, "060504C34FC002");    /* WDP layer (end WDP headers) */    /*     * WSP layer (start WSP headers)     */        msg->sms.msgdata = octstr_create("");    /* PUSH ID, PDU type, header length, value length */    octstr_append_from_hex(msg->sms.msgdata, "01062D1F2B");    /* MIME-type: application/x-wap-prov.browser-bookmarks */    octstr_format_append(msg->sms.msgdata, "%s",                          "application/x-wap-prov.browser-bookmarks");    octstr_append_from_hex(msg->sms.msgdata, "00");    /* charset UTF-8 */    octstr_append_from_hex(msg->sms.msgdata, "81EA");    /* WSP layer (end WSP headers) */    /*     * WSP layer (start WSP data field)     */    /* WBXML version 1.1 */    octstr_append_from_hex(msg->sms.msgdata, "0101");    /* charset UTF-8 */    octstr_append_from_hex(msg->sms.msgdata, "6A00");    /* CHARACTERISTIC_LIST */    octstr_append_from_hex(msg->sms.msgdata, "45");    /* CHARACTERISTIC with content and attributes */    octstr_append_from_hex(msg->sms.msgdata, "C6");    /* TYPE=BOOKMARK */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_TYPE_BOOKMARK);    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* name */    if (name != NULL) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=PROXY, VALUE, inline string */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_NAME);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(name));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* URL */    if (url != NULL) {        /* PARM with attributes */        octstr_append_from_hex(msg->sms.msgdata, "87");        /* NAME=PROXY, VALUE, inline string */        octstr_append_char(msg->sms.msgdata, WBXML_TOK_NAME_URL);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_VALUE);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_STR_I);        octstr_append(msg->sms.msgdata, octstr_duplicate(url));        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END_STR_I);        octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    }    /* end of CHARACTERISTIC */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* end of CHARACTERISTIC-LIST */    octstr_append_char(msg->sms.msgdata, WBXML_TOK_END);    /* WSP layer (end WSP data field) */    msg->sms.sender = from;    msg->sms.receiver = octstr_duplicate(receiver);    msg->sms.coding = DC_8BIT;        msg->sms.time = time(NULL);                                  octstr_destroy(name);    octstr_destroy(url);    return msg;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -