Let kannel 1.4.3 support the bootstrap of the WiMAX

Let kannel 1.4.3 support the bootstrap of the WiMAX

1.If kannel is runing,stop it first.

wget http://localhost:13000/shutdown?password=bar

2.Modify the pack_accept() function for the Bootstrap of the WiMAX in the wsp_header.c.
  
static int pack_accept(Octstr *packed, Octstr *value)
{
    List *parms;
    long media;
    char *wi_bootstrap;
    char wb_buf[50];

    parms = wsp_strip_parameters(value);
    /* XXX we need to obey which WSP encoding-version to use */
    media = wsp_string_to_content_type(value);
    /* media = wsp_string_to_versioned_content_type(value, WSP_1_2);*/

    /* added by javen for wimax bootstrap */
    wi_bootstrap = "application/vnd.wmf.bootstrap";       
    octstr_get_many_chars(wb_buf, value, 0, strlen(wi_bootstrap)); 
    //printf("buf is:/n");
    //printf("%s/n",buf);            
    wb_buf[strlen(wi_bootstrap)] = '/0';
    if (strcmp(wb_buf, wi_bootstrap) == 0){
         media = 0x0318;
    }
    //printf("strcmp(a,b): %d/n", strcmp(wb_buf, wi_bootstrap));
    //printf("media is:/n");//=792
    //printf("%d/n",media); 
 
    /* See if we can fit this in a Constrained-media encoding */
    if (parms == NULL && media <= MAX_SHORT_INTEGER) {
        wsp_pack_constrained_value(packed, value, media);
        //printf("parms == NULL && media <= MAX_SHORT_INTEGER");
    } else {
        Octstr *encoding = octstr_create("");

        if (media >= 0)
            wsp_pack_integer_value(encoding, media);
        else
            wsp_pack_text(encoding, value);

        wsp_pack_parameters(encoding, parms);
        wsp_pack_value(packed, encoding);
        octstr_destroy(encoding);
    }

    gwlist_destroy(parms, parm_destroy_item);
    return 0;
}

3.Compile the kannel 1.4.3 again

make
make bindir=/OneMS/gateway-1.4.3/bin install

4.Run the the kannel 1.4.3 again


./bearerbox -v 1 pushkannel.conf &
./wapbox -v 1 pushkannel.conf &

你可能感兴趣的:(String,function,null,Integer,Parameters,encoding)