seg faulting while using pjsip_parse_msg

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I am new to pjsip and unsuccessfully trying (for days) to use pjsip to parse a sip message contained in a char* buffer. I have looked at sample source code for assistance but I am still getting seg faults. (google'ing hasnt provided much help either)
My program doesn't need to do anything elaborate, just parse the data for the SIP message and print it to the screen. In my case I have simple pcap file with a SIP registration contained within it and would like pjsip to parse it. Thank you so much for your help. If you need any additional info please let me know.

-t

When I run my program I get the following output:
 12:01:15.705 os_core_unix.c  pjlib 1.8 for POSIX initialized
 12:01:15.716 sip_endpoint.c  Creating endpoint instance...
 12:01:15.717          pjlib  select() I/O Queue created (0x1ef4d730)
 12:01:15.717 sip_endpoint.c  Module "mod-msg-print" registered
 12:01:15.717 sip_transport.  Transport manager created.
 12:01:15.717          sip.c  The message size is 529
Segmentation fault
[root at localhost bin]# 

When I run my program through gdb I get the following:
(gdb) run register.pcap
Starting program: /root/upe/bin/gm register.pcap
[Thread debugging using libthread_db enabled]
 12:03:17.587 os_core_unix.c  pjlib 1.8 for POSIX initialized
 12:03:17.587 sip_endpoint.c  Creating endpoint instance...
 12:03:17.587          pjlib  select() I/O Queue created (0x88c730)
 12:03:17.587 sip_endpoint.c  Module "mod-msg-print" registered
 12:03:17.587 sip_transport.  Transport manager created.
 12:03:17.587          sip.c  The message size is 529

Program received signal SIGSEGV, Segmentation fault.
0x00000000004b15a1 in pjsip_msg_create ()
(gdb) 

my code is below:

    status = pj_init();
    if (status != PJ_SUCCESS) error_exit("Error in pj_init()", status);

    status = pjlib_util_init();
    if (status != PJ_SUCCESS) error_exit("Error in pjlib_util_init()", status);

    pj_caching_pool_init(&cp, &pj_pool_factory_default_policy,8000);
    
    status = pjsip_endpt_create(&cp.factory, NULL, &g_endpt);
    if (status != PJ_SUCCESS) error_exit("Error in pjsip_endpt_create()", status);

    pj_list_init(&err);
    np::dout << "THe message size is: " << msgsize << " bytes." << endl;
    PJ_LOG(4,("sip.c", "The message size is %d",msgsize));


    pjsip_msg *msg = pjsip_parse_msg(pool,(char*) buf, msgsize, &err);


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20101018/fd349431/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux