[OpenSIPS-Users] [NEW] Dialog data persistence across reboot

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Jun 9 11:13:40 CEST 2009


Hi Thomas,

Thanks for the report - the fix is on SVN. Let me know if solved the 
problem.

Regards,
Bogdan

Thomas Gelf wrote:
> Hi Bogdan,
>
> it took some time, but today I finally find some time to test this. As
> mentioned on IRC it segfaults, here is the backtrace:
>
> #0  0x000000000049eee4 in db_print_columns (
>     _b=0x714974 "hash_entry,hash_id,callid,from_uri,from_tag,to_uri,
>     to_tag,caller_sock,callee_sock,start_time,state,timeout,caller_cseq,
>     callee_cseq,caller_route_set,callee_route_set,caller_contact,
>     callee_contact,", _l=65516, _c=<value optimized out>, _n=21) at
>     db/db_ut.c:222
> #1  0x000000000049bc83 in db_do_insert (_h=0x781368, _k=0x7fffbb6b47c0,
>     _v=0x7fffbb6b4520, _n=21, val2str=0x2af5f142def0 <db_mysql_val2str>,
>     submit_query=<value optimized out>) at db/db_query.c:162
> #2  0x00002af5f142b86f in db_mysql_insert (_h=0x781368,
>     _k=0x7fffbb6b47c0,  _v=0x7fffbb6b4520, _n=21) at dbase.c:925
> #3  0x00002af5f37d0fe8 in update_dialog_dbinfo (cell=0x2af5f53044d0) at
>     dlg_db_handler.c:657
> #4  0x00002af5f37d86da in dlg_onreply (t=0x2af5f5308b60, type=<value
>     optimized out>, param=<value optimized out>) at dlg_handlers.c:325
> #5  0x00002af5f03c7b68 in run_trans_callbacks (type=128,
>     trans=0x2af5f5308b60, req=0x2af5f5304f30, rpl=0x7815b8, code=200)
>     at t_hooks.c:208
> #6  0x00002af5f03d96b3 in relay_reply (t=0x2af5f5308b60, p_msg=0x7815b8,
>     branch=1, msg_status=200, cancel_bitmap=0x7fffbb6b4bb8) at
>     t_reply.c:1226
> #7  0x00002af5f03d9f4b in reply_received (p_msg=0x7815b8) at
>     t_reply.c:1484
> #8  0x000000000041cce0 in forward_reply (msg=0x7815b8) at forward.c:507
> #9  0x00000000004426a8 in receive_msg (
>     buf=0x7042e0 "SIP/2.0 200 OK\r\n"..., len=1131,
>     rcv_info=0x7fffbb6b4cc0) at receive.c:203
> #10 0x00000000004706fa in udp_rcv_loop () at udp_server.c:449
> #11 0x00000000004227a2 in main (argc=<value optimized out>,
>     argv=0x7fffbb6b4e98) at main.c:786
>
> As you know I'm not a C-coder, but I tried to give it a quick look. The
> problem here is the _n=21 (from DIALOG_TABLE_COL_NO, has former been 18
> and is now 21). However, there are still only 18 values - vars, profiles
> and script_flags are not set in update_dialog_dbinfo. I tried to replace
> DIALOG_TABLE_COL_NO with "18" on line 657 in dlg_db_handler.c - prevents
> segfaulting, but vars etc are (obviously?) not be stored to db.
>
> Best regards,
> Thomas Gelf
>
>
> Bogdan-Andrei Iancu schrieb:
>   
>> Hi,
>>
>> I added to the dialog module support for data persistence (dialog script 
>> flags, dialog script variables, dialog profiles) across restart. As this 
>> data is highly dynamic nature (may changes very often), it is flushed to 
>> DB only at shutdown time - so do not expect to see it in DB during runtime.
>>
>> This will directly affect the script functionality - you can rely on not 
>> loosing the dialog context if rebooting, and also the module using 
>> dialog module (like load-balancer which needs to keep the profiles in 
>> order to do the job).
>>
>> Regards,
>> Bogdan
>>     
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>   




More information about the Users mailing list