Re: [SR-Users] Command 'sercmd lcr.dump_rules' out of memory.
Hello, might be something wrong in the ctl module, but in order to get more details, run kamailio with: debug=3 memdbg=2 memlog=2 children=1 When you get the memory error, stop the proxy and send all log messages from start to end. Cheers, Daniel On 4/19/11 3:28 PM, Alexandre Abreu wrote: Hello. When running 'sercmd lcr.reload' (without any errors) and then 'sercmd lcr.dump_rules' I've got the following message: ERROR: ctl [binrpc_run.c:510]: ERROR: binrprc: rpc_send: too many message chunks Then I increased the CTL module params 'binrpc_max_body_size' and ' binrpc_struct_max_body_size'. Re-run the command: ERROR: ctl [binrpc_run.c:908]: ERROR: binrpc: rpc_add: out of memory kamailio -V version: kamailio 3.1.3 (x86_64/linux) flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 8MB poll method support: poll, epoll_lt, epoll_et, sigio_rt, select. id: compiled on 19:43:43 Apr 18 2011 with gcc 4.1.2 It doesn't matter if I increase the PKG_SIZE ( 8). The LCR tables are very small. lcr_rule - 445 lines lcr_rule_target - 445 lines lcr_gw - 7 lines Alexandre ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://www.asipto.com ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
afaik, the list should be saved for tm lifetime. If you run with high debug level, do you see any message when the list is destroyed? Cheers, Daniel On 4/22/11 3:00 PM, Juha Heinanen wrote: domain module sets $td.did at lookup_domain call. $td.did seems to be a normal avp, because i can print its value with xlog by referring to it as $avp(td.did). however, its value is gone at failure route, which makes me suspect that $td.did is not really a normal avp. in route block i have $avp(did) = $td.did; xlog(L_INFO, at t_relay:td/td.did =$avp(did)/$avp(td.did)\n); if (t_relay()) exit; branch route, onreply route, and failure route are set when the above t_relay() takes place. at the end of branch route block, i have xlog(L_INFO, at end of contact branches:did/td.did =$avp(did)/$avp(td.did)\n); and at the beginning of onreply route block: xlog(L_INFO, at beginning of onreply:did/td.did =$avp(did)/$avp(td.did)\n); and at the beginning of failure route block: xlog(L_INFO, at beginning of contact failure:did/td.did =$avp(did)/$avp(td.did)\n); when i make a call, i get to syslog: Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13706]: INFO: at t_relay:td/td.did =test.fi/test.fi Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13706]: INFO: at end of contact branches:did/td.did =test.fi/test.fi Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13708]: INFO: at beginning of onreply:did/td.did =test.fi/null Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13705]: INFO: at beginning of contact failure:did/td.did =test.fi/null why is it that $avp(did) value has been preserved from route/branch route block to onreply/failure blocks, but value of $avp(td.did) is not? i'll cc to jan in case he is not on this list. -- juha ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://www.asipto.com ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] Kamailio stops responding after 10 days or so
Hello, thanks for feedback. Going to work on it asap. Cheers, Daniel On 4/19/11 10:17 PM, Morten Isaksen wrote: Hi, It happend again. I got the result from gdb. Here is the output from a bt indside gdb for each worker and one bt full for one of the workers. They are all stuck in futexlock.h My C debuging skills are a bit rusty so I hope one of you have some ideas. /Morten (gdb) bt #0 0x00329b6d0a19 in syscall () from /lib64/libc.so.6 #1 0x2acaf17b2e0d in futex_get (t=value optimized out, type=value optimized out, ps=0x7fffafb7d7a0) at ../../mem/../futexlock.h:113 #2 publ_cback_func (t=value optimized out, type=value optimized out, ps=0x7fffafb7d7a0) at send_publish.c:272 #3 0x2acaeeb97815 in run_trans_callbacks_internal (cb_lst=0x2acaf3cfd260, type=256, trans=0x2acaf3cfd1f0, params=0x7fffafb7d7a0) at t_hooks.c:290 #4 0x2acaeeb97a6e in run_trans_callbacks (type=0, trans=0x2, req=0x0, rpl=0x246, code=0) at t_hooks.c:317 #5 0x2acaeebbfcb3 in local_reply (t=0x2acaf3cfd1f0, p_msg=value optimized out, branch=0, msg_status=value optimized out, cancel_bitmap=value optimized out) at t_reply.c:1847 #6 0x2acaeebc29e8 in reply_received (p_msg=0x8d36c8) at t_reply.c:2133 #7 0x0044780e in forward_reply (msg=0x8d36c8) at forward.c:689 #8 0x0047ff02 in receive_msg ( buf=0x874a40 SIP/2.0 200 OK\r\nVia: SIP/2.0/UDP 178.21.248.8;branch=z9hG4bKcd3a.d99d6403.0\r\nTo: sip:+380432571...@sip.uni-tel.dk;user=phone;tag=4e546d1f8c10c6f99af9c51d895c9c87-c9ca\r\nFrom: sip:+380432571...@sip.uni-..., len=value optimized out, rcv_info=0x7fffafb7dd20) at receive.c:257 #9 0x005067ab in udp_rcv_loop () at udp_server.c:520 #10 0x00455cdf in main_loop () at main.c:1447 #11 0x00456de2 in main (argc=value optimized out, argv=0x7fffafb7dfe8) at main.c:2251 (gdb) bt #0 0x00329b6d0a19 in syscall () from /lib64/libc.so.6 #1 0x2acaeeb7ea32 in futex_get (i=value optimized out) at ../../mem/../futexlock.h:100 #2 _lock (i=value optimized out) at lock.h:98 #3 lock_hash (i=value optimized out) at h_table.c:98 #4 0x2acaeeba1b99 in t_lookup_request (p_msg=0x8d36c8, leave_new_locked=0, cancel=0x7fffafb7d5e0) at t_lookup.c:548 #5 0x2acaeeba3532 in t_check_msg (p_msg=0x8d36c8, param_branch=value optimized out) at t_lookup.c:1104 #6 0x2acaeebab7b1 in t_check_trans (msg=0x2acaf1f4b2e8, foo=value optimized out, bar=0x2Address 0x2 out of bounds) at tm.c:1881 #7 0x0041345c in do_action (h=0x7fffafb7dab0, a=0x8a6f98, msg=0x8d36c8) at action.c:860 #8 0x00415d2b in run_actions (h=0x7fffafb7dab0, a=0x89f8d8, msg=0x8d36c8) at action.c:1293 #9 0x00416084 in run_top_route (a=0x89f8d8, msg=0x8d36c8, c=value optimized out) at action.c:1341 #10 0x0047ff4c in receive_msg ( buf=0x874a40 INVITE sip:20322595@178.21.248.8:5060;transport=udp SIP/2.0\r\nRecord-Route: sip:178.21.248.20;lr;ftag=as3d313976\r\nVia: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bKdd3a.3d0516e1.0\r\nVia: SIP/2.0/UDP 81.27, len=value optimized out, rcv_info=0x7fffafb7dd20) at receive.c:196 #11 0x005067ab in udp_rcv_loop () at udp_server.c:520 #12 0x00455cdf in main_loop () at main.c:1447 #13 0x00456de2 in main (argc=value optimized out, argv=0x7fffafb7dfe8) at main.c:2251 #0 0x00329b6d0a19 in syscall () from /lib64/libc.so.6 #1 0x2acaeeb7ea32 in futex_get (i=value optimized out) at ../../mem/../futexlock.h:100 #2 _lock (i=value optimized out) at lock.h:98 #3 lock_hash (i=value optimized out) at h_table.c:98 #4 0x2acaeeba1b99 in t_lookup_request (p_msg=0x8d36c8, leave_new_locked=0, cancel=0x7fffafb7d5e0) at t_lookup.c:548 #5 0x2acaeeba3532 in t_check_msg (p_msg=0x8d36c8, param_branch=value optimized out) at t_lookup.c:1104 #6 0x2acaeebab7b1 in t_check_trans (msg=0x2acaf1f4b2e8, foo=value optimized out, bar=0x2Address 0x2 out of bounds) at tm.c:1881 #7 0x0041345c in do_action (h=0x7fffafb7dab0, a=0x8a6f98, msg=0x8d36c8) at action.c:860 #8 0x00415d2b in run_actions (h=0x7fffafb7dab0, a=0x89f8d8, msg=0x8d36c8) at action.c:1293 #9 0x00416084 in run_top_route (a=0x89f8d8, msg=0x8d36c8, c=value optimized out) at action.c:1341 #10 0x0047ff4c in receive_msg ( buf=0x874a40 INVITE sip:20322595@178.21.248.8:5060;transport=udp SIP/2.0\r\nRecord-Route: sip:178.21.248.20;lr;ftag=as3d313976\r\nVia: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bKdd3a.3d0516e1.0\r\nVia: SIP/2.0/UDP 81.27, len=value optimized out, rcv_info=0x7fffafb7dd20) at receive.c:196 #11 0x005067ab in udp_rcv_loop () at udp_server.c:520 #12 0x00455cdf in main_loop () at main.c:1447 #13 0x00456de2 in main (argc=value optimized out, argv=0x7fffafb7dfe8) at main.c:2251 (gdb) bt #0 0x00329b6d0a19 in syscall () from /lib64/libc.so.6 #1 0x2acaeeb7e9fa in futex_get (i=value optimized out) at ../../mem/../futexlock.h:113 #2 _lock (i=value optimized out)
Re: [SR-Users] perlvdb error
On 4/21/11 2:21 PM, Roman Yeryomin wrote: On 21 April 2011 12:16, Daniel-Constantin Mierlamico...@gmail.com wrote: (gdb) bt full #0 0xb7228e3a in parseurl (url=0xb7213230 T�0\b#) at perlvdbfunc.c:60 No locals. #1 0xb7228e7d in perlvdb_db_init (url=0x1Address 0x1 out of Seems that the db url is not passed properly. While you are in gdb, do: frame 2 p db_url (gdb) frame 2 #2 0xb720df85 in child_init (rank=0) at authdb_mod.c:166 166 auth_db_handle = auth_dbf.init(db_url); (gdb) p db_url $1 = {s = 0x830f554 perlvdb:OpenSER::VDB::Adapter::Auth, len = 35} the url value looks ok here, but what t gets to perlvdb_db_init() is corrupted ... Can you send also the log messages, i.e., output of: kamailio -E -ddd Cheers, Daniel What is your OS? Also, provide the list of loaded modules and the values for all db_url parameters in the config. OS is Ubuntu server 8.04 with all updates and kernel 2.6.38.3 running in virtual machine (virtualbox). $ cat /usr/local/etc/kamailio/kamailio.cfg | grep loadmodule loadmodule db_mysql.so loadmodule mi_fifo.so loadmodule kex.so loadmodule tm.so loadmodule tmx.so loadmodule sl.so loadmodule rr.so loadmodule pv.so loadmodule maxfwd.so loadmodule usrloc.so loadmodule registrar.so loadmodule textops.so loadmodule siputils.so loadmodule xlog.so loadmodule sanity.so loadmodule ctl.so loadmodule mi_rpc.so loadmodule acc.so loadmodule perl.so loadmodule perlvdb.so loadmodule auth.so loadmodule auth_db.so loadmodule app_lua.so $ cat /usr/local/etc/kamailio/kamailio.cfg | grep db_url modparam(auth_db, db_url, perlvdb:OpenSER::VDB::Adapter::Auth) modparam(alias_db, db_url, perlvdb:OpenSER::VDB::Adapter::Alias) Regards, Roman ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://www.asipto.com ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
Daniel-Constantin Mierla writes: afaik, the list should be saved for tm lifetime. If you run with high debug level, do you see any message when the list is destroyed? daniel, plenty, but they don't tell me anything. what does this mean? Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) below is what comes to syslog when request is forwarded in route block and when reply is received. i have called t_newtrans() before i call t_relay() if that could explain anything. -- juha when request if forwarded: Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: INFO: Routing INVITE to contacts sip:test@192.98.102.10:5074;transport=udp and null Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: tm [t_lookup.c:1379]: DEBUG: t_newtran: msg id=28 , global msg id=28 , T on entrance=0xb49932e8 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: tm [t_lookup.c:1384]: DEBUG: t_newtran: transaction already in process 0xb49932e8 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [select.c:424]: Calling SELECT 0xb73e5dd0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: permissions [address.c:395]: looking for 2, a6662c0, 5074 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [dns_cache.c:3392]: dns_sip_resolve(192.98.102.10, 0, 0), ip, ret=0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [msg_translator.c:204]: check_via_address(192.98.102.10, 192.98.102.10, 0) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: tm [t_funcs.c:388]: SER: new transaction fwd'ed Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: core [xavp.c:423]: destroying xavp list (nil) when 180 reply is received: Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/msg_parser.c:640]: SIP Reply (status): Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: core [receive.c:146]: After parse_msg... Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/msg_parser.c:642]: version: SIP/2.0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_lookup.c:1081]: DEBUG: t_check_msg: msg id=29 global id=28 T start=0x Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/msg_parser.c:644]: status: 180 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: core [parser/parse_to.c:803]: end of header reached, state=10 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/msg_parser.c:646]: reason: Ringing Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: core [parser/msg_parser.c:187]: DEBUG: get_hdr_field: To [20]; uri=[sip:t...@test.fi] Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/parse_via.c:1287]: Found param type 232, branch = z9hG4bK358f.316a3396f38bbae0398336dc8ee68999.0; state=9 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: core [parser/msg_parser.c:189]: DEBUG: to body [sip:t...@test.fi#015#012] Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/parse_via.c:2343]: parse_via: next_via Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: core [parser/msg_parser.c:167]: get_hdr_field: cseq CSeq: 794 INVITE Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/parse_via.c:1287]: Found param type 235, rport = 5074; state=6 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_lookup.c:967]: DEBUG: t_reply_matching: hash 63571 label 0 branch 0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/parse_via.c:1287]: Found param type 232, branch = z9hG4bKypzwzcfe; state=16 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_lookup.c:1018]: DEBUG: t_reply_matching: reply matched (T=0xb49932e8)! Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/parse_via.c:2300]: end of header reached, state=5 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/msg_parser.c:515]: parse_headers: Via found, flags=2 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_hooks.c:288]: DBG: trans=0xb49932e8, callback type 2, id 0 entered Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG: core [parser/msg_parser.c:517]: parse_headers: this is the first via Apr 26 13:31:43 sip
Re: [SR-Users] is $td.did avp a normal avp?
Hi Juha, On 4/26/11 12:58 PM, Juha Heinanen wrote: Daniel-Constantin Mierla writes: afaik, the list should be saved for tm lifetime. If you run with high debug level, do you see any message when the list is destroyed? daniel, plenty, but they don't tell me anything. what does this mean? Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) this tells that the avp list was null. The message is printed 6 times since ser added 5 more avp lists - kamailio used to have 1, the first, corresponding to FROM_URI list in ser notation. So, it looks like all the avps list were null when the core cleaned the received message. If there was an avp in any of the lists and it was not deleted, then the lists are null because they were moved to transaction. Could it be that this avp is deleted automatically somewhere in a module? Cheers, Daniel below is what comes to syslog when request is forwarded in route block and when reply is received. i have called t_newtrans() before i call t_relay() if that could explain anything. -- juha when request if forwarded: Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: INFO: Routing INVITE to contactssip:test@192.98.102.10:5074;transport=udp andnull Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: tm [t_lookup.c:1379]: DEBUG: t_newtran: msg id=28 , global msg id=28 , T on entrance=0xb49932e8 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: tm [t_lookup.c:1384]: DEBUG: t_newtran: transaction already in process 0xb49932e8 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [select.c:424]: Calling SELECT 0xb73e5dd0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: permissions [address.c:395]: looking for2, a6662c0, 5074 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [dns_cache.c:3392]: dns_sip_resolve(192.98.102.10, 0, 0), ip, ret=0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [msg_translator.c:204]: check_via_address(192.98.102.10, 192.98.102.10, 0) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG: tm [t_funcs.c:388]: SER: new transaction fwd'ed Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [usr_avp.c:646]: DEBUG:destroy_avp_list: destroying list (nil) Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19855]: DEBUG:core [xavp.c:423]: destroying xavp list (nil) when 180 reply is received: Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/msg_parser.c:640]: SIP Reply (status): Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG:core [receive.c:146]: After parse_msg... Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/msg_parser.c:642]: version:SIP/2.0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_lookup.c:1081]: DEBUG: t_check_msg: msg id=29 global id=28 T start=0x Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/msg_parser.c:644]: status:180 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG:core [parser/parse_to.c:803]: end of header reached, state=10 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/msg_parser.c:646]: reason:Ringing Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG:core [parser/msg_parser.c:187]: DEBUG: get_hdr_field:To [20]; uri=[sip:t...@test.fi] Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/parse_via.c:1287]: Found param type 232,branch =z9hG4bK358f.316a3396f38bbae0398336dc8ee68999.0; state=9 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG:core [parser/msg_parser.c:189]: DEBUG: to body [sip:t...@test.fi#015#012] Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/parse_via.c:2343]: parse_via: next_via Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG:core [parser/msg_parser.c:167]: get_hdr_field: cseqCSeq:794 INVITE Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/parse_via.c:1287]: Found param type 235,rport =5074; state=6 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_lookup.c:967]: DEBUG: t_reply_matching: hash 63571 label 0 branch 0 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19854]: DEBUG:core [parser/parse_via.c:1287]: Found param type 232,branch =z9hG4bKypzwzcfe; state=16 Apr 26 13:31:43 sip /usr/sbin/sip-proxy[19853]: DEBUG: tm [t_lookup.c:1018]: DEBUG: t_reply_matching: reply
Re: [SR-Users] is $td.did avp a normal avp?
Daniel-Constantin Mierla writes: this tells that the avp list was null. The message is printed 6 times since ser added 5 more avp lists - kamailio used to have 1, the first, corresponding to FROM_URI list in ser notation. So, it looks like all the avps list were null when the core cleaned the received message. If there was an avp in any of the lists and it was not deleted, then the lists are null because they were moved to transaction. Could it be that this avp is deleted automatically somewhere in a module? i haven't found that kind of action in s domain module. avps are destroyed only when whole domain is deleted. -- juha modules_s/domain$ egrep -i avp *.c domain.c: if (d-attrs) destroy_avp_list(d-attrs); domain.c: str name_s = STR_STATIC_INIT(AVP_DID); domain.c: if (add_avp_list(d-attrs, AVP_CLASS_DOMAIN | AVP_NAME_STR | AVP_VAL_STR, domain.c: str avp_val; domain.c: /* Get AVP name */ domain.c: avp_val.s = 0; domain.c: avp_val.len = 0; domain.c: avp_val = rec-fld[2].v.lstr; domain.c: flags = AVP_CLASS_DOMAIN | AVP_NAME_STR; domain.c: if (rec-fld[1].v.int4 == AVP_VAL_STR) { domain.c: /* String AVP */ domain.c: v.s = avp_val; domain.c: flags |= AVP_VAL_STR; domain.c: /* Integer AVP */ domain.c: str2int(avp_val, (unsigned*)v.n); domain.c: if (add_avp_list(d-attrs, flags, name, v) 0) { domain_mod.c:#include ../../usr_avp.h domain_mod.c: destroy_avp_list(d-attrs); domain_mod.c: str name_s = STR_STATIC_INIT(AVP_DID); domain_mod.c: if (flags AVP_TRACK_FROM) { domain_mod.c: if (add_avp_list(p-attrs, AVP_CLASS_DOMAIN | AVP_NAME_STR | AVP_VAL_STR, domain_mod.c: set_avp_list((unsigned long)flags, d-attrs); domain_mod.c: set_avp_list((unsigned long)flags, d-attrs); domain_mod.c: flags = AVP_TRACK_FROM | AVP_CLASS_DOMAIN; domain_mod.c: flags = AVP_TRACK_TO | AVP_CLASS_DOMAIN; domain_rpc.c: avp_t* a; domain_rpc.c: name = get_avp_name(a); domain_rpc.c: get_avp_val(a, val); domain_rpc.c: if (a-flags AVP_VAL_STR) { ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] [sr-dev] call for participation: kamailio project at LinuxTag 2011
On Thursday 07 April 2011, Henning Westerholt wrote: [..] If you are in Berlin during this time, plan to visit the LinuxTag or just like to help your favourite SIP server project - please consider supporting us in running our fair booth! Even showing up for one or two hours helps a lot. We need also support to properly present our project, like flyers, a banner, maybe some live demonstrations.. So even if you can't participate in person, there are other ways to help us! Hello, LinuxTag is getting closer, its in almost two weeks now! So if you thought about joining us at the booth, please let me know about it until this friday. Of course you don't need to pay the entrance fee in this case, we'll provide an exhibitor pass. Informations about the current state of preparations can be found here: http://sip-router.org/wiki/meetings/berlin_2011 Best regards, Henning ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? thanks klaus Juha Heinanen wrote: domain module sets $td.did at lookup_domain call. $td.did seems to be a normal avp, because i can print its value with xlog by referring to it as $avp(td.did). however, its value is gone at failure route, which makes me suspect that $td.did is not really a normal avp. in route block i have $avp(did) = $td.did; xlog(L_INFO, at t_relay: td/td.did = $avp(did)/$avp(td.did)\n); if (t_relay()) exit; branch route, onreply route, and failure route are set when the above t_relay() takes place. at the end of branch route block, i have xlog(L_INFO, at end of contact branches: did/td.did = $avp(did)/$avp(td.did)\n); and at the beginning of onreply route block: xlog(L_INFO, at beginning of onreply: did/td.did = $avp(did)/$avp(td.did)\n); and at the beginning of failure route block: xlog(L_INFO, at beginning of contact failure: did/td.did = $avp(did)/$avp(td.did)\n); when i make a call, i get to syslog: Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13706]: INFO: at t_relay: td/td.did = test.fi/test.fi Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13706]: INFO: at end of contact branches: did/td.did = test.fi/test.fi Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13708]: INFO: at beginning of onreply: did/td.did = test.fi/null Apr 22 15:53:27 sip /usr/sbin/sip-proxy[13705]: INFO: at beginning of contact failure: did/td.did = test.fi/null why is it that $avp(did) value has been preserved from route/branch route block to onreply/failure blocks, but value of $avp(td.did) is not? i'll cc to jan in case he is not on this list. -- juha ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser -Jan ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
Jan Janak wrote: On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser Aha. But how does sip-router decide if $td is a ser AVP or a Kamailio pseudo variable? thanks klaus ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
On Tue, Apr 26, 2011 at 8:42 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser Aha. But how does sip-router decide if $td is a ser AVP or a Kamailio pseudo variable? If it starts with ${fu,tu,fd,td,g}. then it is taken as a SER AVPs, otherwise it is a Kamailio pseudo variable. -Jan ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
Jan Janak wrote: On Tue, Apr 26, 2011 at 8:42 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser Aha. But how does sip-router decide if $td is a ser AVP or a Kamailio pseudo variable? If it starts with ${fu,tu,fd,td,g}. then it is taken as a SER AVPs, otherwise it is a Kamailio pseudo variable. Not sure if I got it right. I guess if I use $fu it will be Kamailio's from-URI pseudo variable as there is no ser $fu AVP as $fu is only the prefix and not the full AVP name, a full ser AVP name would be for example $fu.foo. Is this correct? klaus ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
Jan Janak wrote: On Tue, Apr 26, 2011 at 8:42 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser Aha. But how does sip-router decide if $td is a ser AVP or a Kamailio pseudo variable? If it starts with ${fu,tu,fd,td,g}. then it is taken as a SER AVPs, otherwise it is a Kamailio pseudo variable. Not sure if I got it right. I guess if I use $fu it will be Kamailio's from-URI pseudo variable as there is no ser $fu AVP as $fu is only the prefix and not the full AVP name, a full ser AVP name would be for example $fu.foo. Is this correct? klaus ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
On Tue, Apr 26, 2011 at 9:19 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 8:42 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser Aha. But how does sip-router decide if $td is a ser AVP or a Kamailio pseudo variable? If it starts with ${fu,tu,fd,td,g}. then it is taken as a SER AVPs, otherwise it is a Kamailio pseudo variable. Not sure if I got it right. I guess if I use $fu it will be Kamailio's from-URI pseudo variable as there is no ser $fu AVP as $fu is only the prefix and not the full AVP name, a full ser AVP name would be for example $fu.foo. Is this correct? Correct, there is a special case for a small number of well-known SER AVP name prefixes, everything else is considered Kamailio pseudo-variable. This is a temporary measure to make both syntaxes work. -Jan ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Re: [SR-Users] is $td.did avp a normal avp?
On 4/26/11 9:20 PM, Klaus Darilion wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 8:42 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Jan Janak wrote: On Tue, Apr 26, 2011 at 7:41 PM, Klaus Darilion klaus.mailingli...@pernau.at wrote: Not helping with this issue - but having another question: what is $td.did? Is it a pseudo variable (as it starts with $)? Is it somehow related/derived to/from $td or is the '.' just a character like a-z? This is the SER syntax for AVP names, see http://sip-router.org/wiki/devel/avps-ser Aha. But how does sip-router decide if $td is a ser AVP or a Kamailio pseudo variable? If it starts with ${fu,tu,fd,td,g}. then it is taken as a SER AVPs, otherwise it is a Kamailio pseudo variable. Not sure if I got it right. I guess if I use $fu it will be Kamailio's from-URI pseudo variable as there is no ser $fu AVP as $fu is only the prefix and not the full AVP name, a full ser AVP name would be for example $fu.foo. Is this correct? actually, to give further clarifications, the script variable lookup for $xyz is like: - search in K-style PV table for 'xyz' name and if found use it - if not found, treat it as AVP So, $xyz (literally) is practically the same as $avp(xyz). When the integration happened, it was discovered there was no critical overlapping between existing PV names and ser avp lists - as mentioned in this thread, ser had lately several avp classes, using a dot to mark the end of the class and the start of the avp name. In the past a non-existing PV name in K would have thrown error, now is considered to be classic K AVP (in ser style it is from uri avp). Now the $avp(...) PV supports all classes, so you can use for example $avp(td.did). If the avp class is missing, then it is the 'f' class, afaik based on some emails sent in the past on the lists -- so these should be equivalent in the config file: - $myavp - $f.myavp - $avp(myavp) - $avp(f.myavp) However, you better test the above equivalency, since I am using only K-style avps. Cheers, Daniel -- Daniel-Constantin Mierla http://www.asipto.com ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users