Re: [SR-Users] Siremis v4.2.0 Released
Great job...i'm the first one that will try it ! Thanks On Mon, Feb 2, 2015 at 9:01 PM, Elena-Ramona Modroiu ram...@asipto.com wrote: Hi, Siremis v4.2.0 has been released, web management interface aiming at compatibility with Kamailio v4.2.x series - notes about release are available at: - http://siremis.asipto.com/2015/02/02/siremis-v4-2-0-released/ Ramona ___ 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] Ro_CCR function
Well further reading :-) and digging has allowed me to understand that the 'location' table is used because of the save('location') call. The ims_charging_module assumes that a table will exist with the same name as the domain specified in the Ro_CCR(). Interestingly, I wasn't successful in using a table called ' voip.we-rcs.flowcloud.systems' as the db_check_table_version() didn't seem to like the '.' or the '-'. I guess back ticks aren't being used in the SQL query. Anyway, for the time being I am specifying a domain that doesn't have either periods or dashes. My problem now is that no dialog is being found and hence no charging requests are generated. I have set the dialog flag: modparam(dialog_ng, dlg_flag, 2) if (is_method(INVITE)) { dlg_setflag(2); xlog(L_DBG,Sending initial CCR Request for call\n); Ro_CCR(CHARGING_CCR_REPLY, orig, SCUR, , 30,CCR_location); } but still get: dialog_ng [dlg_hash.c:924]: get_dlg(): no dialog callid='6428867e-2@192.168.148.30' found kamcmd does show the dialog with dlg2_list but of course that is later in the SIP messaging flow by the time I look at it. Anything obvious I am doing wrong that means the dialog isn't found? I am assuming that on reception of the INVITE is when I should do the initial CCR request even though the dialog is not fully formed yet. Cheers Shane On 2 February 2015 2:43 p.m, Shane Harrison wrote: From: sr-users [mailto:sr-users-boun...@lists.sip-router.org] On Behalf Of Shane Harrison Sent: Monday, 2 February 2015 2:43 p.m. To: sr-users@lists.sip-router.org Subject: [SR-Users] Ro_CCR function Hi all, In a previous post I was alerted to the (perhaps obvious) fact that that ims_charging module is design to run within an IMS environment: http://lists.sip-router.org/pipermail/sr-users/2015-January/086675.html I have subsequently attempted to modify the module to work with the standard usrloc Kamailio module. I decided to branch from the 4.2.2 release rather than the master since I was unsure of the state of the ims_charging module in the master. It now compiles fine and installs. I also have the cdp module talking watchdog_requests to a freeDiameter server so at that level things seem OK. However inserting the Ro_CCR() call into the kamailio cfg file shows up some problems, primarily: Feb 2 01:05:52 hh-rcs-sipproxy3 /usr/sbin/kamailio[6473]: WARNING: usrloc [dlist.c:624]: register_udomain(): Registering a new domain called 'voip.we-rcs.flowcloud.systems' with usrloc Feb 2 01:05:52 hh-rcs-sipproxy3 /usr/sbin/kamailio[6473]: ERROR: core [db.c:443]: db_check_table_version(): invalid version 0 for table voip.we-rcs.flowcloud.systems found, expected 6 (check table structure and table version) Exploring this error leads me to a few questions: 1) The 4.2.2 Ro_CCR() has the diameter domain as a parameter. The addition of this function to my kamailio.cfg file causes ro_fixup() - domain_fixup() - ul.register_domain which as per the log above, attempts to look for a table with the same name as the domain. Is it expected that such a table exists, for standard Kamailio I thought all usrloc records simply go into the Location table , regardless of the domain. 2) What is the purpose of the ro_fixup() 3) I notice that the 4.3 module documentation for ims_charging module has 6 parameters for the function call while the example code given in the same section as only 5 (missing domain). The code from the master branch for the function is different again - not sure if 4.3 is still in quite a bit of flux or not for the ims_charging module? 4) Should I be using 4.3 ims_charging module as a starting point or is 4.2.2 good enough i.e are there major changes? At this stage I am going to create a table for the domain but would like some clarity on how the usrloc and domains relate to table names. ___ 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 IMS: can not register
Hi Carsten, Thanks for your response. In fact, i don't have any entries for the domain open-ims.test in /etc/hosts. From the client (a win7 host) in which I have the Boghe, i can ping to open-ims.test, pcscf, icscf and scscf, using the DNS that I configured using bind9 (in the same machine on which I have Kamailio.) Running tcpdump in the Kamailio server: tcpdump -nvvvqt -s 0 -A -i eth0 port 4060 or port 4070 or port 4080 or port 3869 or port 3870 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes IP (tos 0x0, ttl 128, id 6497, offset 0, flags [none], proto UDP (17), length 945) 192.168.1.105.58858 192.168.1.109.4060: [udp sum ok] UDP, length 917 Ea.i...m..;.REGISTER sip:open-ims.test SIP/2.0 Via: SIP/2.0/UDP 192.168.1.105:58858;branch=z9hG4bK-1631994;rport From: sip:al...@open-ims.test;tag=1618516 To: sip:al...@open-ims.test Contact: sip:alice@192.168.1.105:58858;transport=udp;expires=60;+g.oma.sip-im;language=en,fr;+g.3gpp.smsip;+g.oma.sip-im.large-message;audio;+g.3gpp.icsi-ref=urn%3Aurn-7%3A3gpp-application.ims.iari.gsma-vs;+g.3gpp.cs-voice Call-ID: 6b07dac6-8021-7347-98f8-aacda9bc3232 CSeq: 22442 REGISTER Content-Length: 0 Max-Forwards: 70 Authorization: Digest username=al...@open-ims.test,realm=open-ims.test,nonce=,uri=sip:open-ims.test,response= Allow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER Privacy: none P-Access-Network-Info: ADSL;utran-cell-id-3gpp= User-Agent: IM-client/OMA1.0 Boghe-Win32/v2.0.186.1013 P-Preferred-Identity: sip:al...@open-ims.test Supported: path IP (tos 0x0, ttl 128, id 6500, offset 0, flags [none], proto UDP (17), length 945) 192.168.1.105.58858 192.168.1.109.4060: [udp sum ok] UDP, length 917 Ed.i...m..;.REGISTER sip:open-ims.test SIP/2.0 Via: SIP/2.0/UDP 192.168.1.105:58858;branch=z9hG4bK-1631994;rport From: sip:al...@open-ims.test;tag=1618516 To: sip:al...@open-ims.test Contact: sip:alice@192.168.1.105:58858;transport=udp;expires=60;+g.oma.sip-im;language=en,fr;+g.3gpp.smsip;+g.oma.sip-im.large-message;audio;+g.3gpp.icsi-ref=urn%3Aurn-7%3A3gpp-application.ims.iari.gsma-vs;+g.3gpp.cs-voice Call-ID: 6b07dac6-8021-7347-98f8-aacda9bc3232 CSeq: 22442 REGISTER Content-Length: 0 Max-Forwards: 70 Authorization: Digest username=al...@open-ims.test,realm=open-ims.test,nonce=,uri=sip:open-ims.test,response= Allow: INVITE, ACK, CANCEL, BYE, MESSAGE, OPTIONS, NOTIFY, PRACK, UPDATE, REFER Privacy: none P-Access-Network-Info: ADSL;utran-cell-id-3gpp= User-Agent: IM-client/OMA1.0 Boghe-Win32/v2.0.186.1013 P-Preferred-Identity: sip:al...@open-ims.test Supported: path IP (tos 0x10, ttl 64, id 30460, offset 0, flags [none], proto UDP (17), length 508) 192.168.1.109.4060 192.168.1.105.58858: [bad udp cksum 0x8620 - 0x5f13!] UDP, length 480 E...v...@.}m...i... SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.1.105:58858;branch=z9hG4bK-1631994;rport=58858;received=192.168.1.105 From: sip:al...@open-ims.test;tag=1618516 To: sip:al...@open-ims.test Call-ID: 6b07dac6-8021-7347-98f8-aacda9bc3232 CSeq: 22442 REGISTER Server: Kamailio P-CSCF Content-Length: 0 Warning: 392 192.168.1.109:4060 Noisy feedback tells: pid=3652 req_src_ip=192.168.1.105 req_src_port=58858 in_uri=sip:open-ims.test out_uri=sip:open-ims.test via_cnt==1 IP (tos 0x10, ttl 64, id 30461, offset 0, flags [none], proto UDP (17), length 559) 192.168.1.109.4060 192.168.1.105.58858: [bad udp cksum 0x8653 - 0x0702!] UDP, length 531 E../v...@.}m...i...SSIP/2.0 504 Server Time-Out Via: SIP/2.0/UDP 192.168.1.105:58858;branch=z9hG4bK-1631994;rport=58858;received=192.168.1.105 From: sip:al...@open-ims.test;tag=1618516 To: sip:al...@open-ims.test;tag=2b412aa97748142710f71297ea0df81c-2931 Call-ID: 6b07dac6-8021-7347-98f8-aacda9bc3232 CSeq: 22442 REGISTER Server: Kamailio P-CSCF Content-Length: 0 Warning: 392 192.168.1.109:4060 Noisy feedback tells: pid=3656 req_src_ip=192.168.1.105 req_src_port=58858 in_uri=sip:open-ims.test out_uri=sip:open-ims.test via_cnt==1 From the log that I have sent in the first message, looks like the Register request enter in a loop searching a route, but don't find a way to go to the other components of IMS or another place. How to solve? That's what i don't know :( . Thanks again for any advice. On Mon, 2 Feb 2015 11:05:45 +0100, Carsten Bock wrote: Hi, can you make an ngrep or tcpdump, to see, what actually the reply is? Can you also check, that your DNS is properly working? From bare logs it looks like your P-CSCF does not get any reply from your I-CSCF or it fails to forward it. Remember: /etc/hosts won't work, you need a real DNS-Server. Kind regards, Carsten 2015-01-30 22:58 GMT+01:00 dfre...@ing.una.py: Hi all. I'm trying to setup Kamailio for IMS server, but I've reached a point where I can not move. Trying to register from the Boghe client, I get these errors from the pcscf: tail -f
[SR-Users] Does the event_route[tm:local-request] support stateless forwarding configured in the script?
Hello, I´m searching for a way to keep track about success or failure of locally generated SUBSCRIBE transactions, which are typically triggered by the RLS module. In case that a subscription is rejected by the subscribee with any negative response code or the transaction is timing out, I have to trigger a specific action (e.g. sending a PUBLISH message to another user agent). This seems to be not so easy As Kamailio does not support referencing a failure_route to locally generated requests, I had the idea to forward() locally generated requests in the event_route tm:local-request to itself and handle the forwarded requests in the standard request_route, which would offer all usual options. But that seems not to be supported / allowed by Kamailio, as I have in practical tests (1) an outgoing request that is sent to the original Destination-URI (with a malformed Content-Length SIP hdr) and (2) the second request that is sent to the manual target (loop). I´ve found in the mailing list that elder Kamailio versions did not support any common way for this feature. However, can anybody give m a hint if / how this could eventually be solved with the event_route or in any alternative route? It seems that the Kamailio internally generated requests are still below the radar of TM or any other route blocks except tm:local-request. regards, 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
[SR-Users] Grouped dispatching
Hello, Would the below scenario be possible using the dispatcher module or any other routing module? Destination 1: 192.168.1.1 Destination 2: 192.168.1.2 Destination 3: 172.168.1.1 These three destinations belong to the same distribution group(set), but Kamailio has to do the following: Perform round-robin using destination 1 and 2, but if both are down fail-over to destination 3. I hope I'm being clear enough. Regards, Grant ___ 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] Grouped dispatching
Hi, you could use dispatcher's param use_default to achieve this: http://www.kamailio.org/docs/modules/stable/modules/dispatcher.html#dispatcher.p.use_default Regards, Federico On Mon, Feb 2, 2015 at 11:49 AM, Grant Bagdasarian g...@cm.nl wrote: Hello, Would the below scenario be possible using the dispatcher module or any other routing module? Destination 1: 192.168.1.1 Destination 2: 192.168.1.2 Destination 3: 172.168.1.1 These three destinations belong to the same distribution group(set), but Kamailio has to do the following: Perform round-robin using destination 1 and 2, but if both are down fail-over to destination 3. I hope I’m being clear enough. Regards, Grant ___ 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
[SR-Users] dmq_t_replicate fails with ERROR: t_forward_nonack: no branches for forwarding
Hi all, I have three Registrar-only proxies DMQ interconnected [1]. I'm attempting to use a client to register to one of them and replicate REGISTRAR message to the other two. * What it works: - Clients registration to proxy1 - Proxy1 replication of REGISTRAR message to proxy2 * What does not work: - Proxy replication of REGISTRAR message to proxy3 * Error message of proxy1: ERROR: tm [t_fwd.c:1770]: t_forward_nonack(): ERROR: t_forward_nonack: no branches for forwarding ERROR: dmq [dmq_funcs.c:410]: cfg_dmq_t_replicate(): error calling t_replicate append_branch() did't help me and a search on the ML either. What am I doing wrong? Thanks! - leonardo [1] # # Global Definitions # debug = 2 fork = yes log_stderror = no # listen = 0.0.0.0 port = 5060 children = 4 dns = no rev_dns = no use_dns_failover =on dns_srv_lb = yes #dns_try_naptr=no mpath = /usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/ # # Modules # loadmodule tm.so loadmodule sl.so loadmodule tmx.so loadmodule maxfwd.so loadmodule usrloc.so loadmodule registrar.so loadmodule pv.so loadmodule xlog.so loadmodule ctl.so #loadmodule db_text.so loadmodule db_sqlite.so loadmodule auth.so loadmodule auth_db.so loadmodule memcached.so loadmodule dmq.so loadmodule corex.so # # Module Configuration # modparam ( usrloc, db_mode, 0 ) modparam ( usrloc, use_domain, 1 ) modparam ( usrloc, hash_size, 20 ) #modparam ( ctl, binrpc_max_body_size, 1 ) #modparam ( ctl, binrpc_struct_max_body_size, 200 ) #default #modparam ( db_text, db_mode, 0 ) modparam ( auth, use_domain, 1 ) #modparam ( auth_db, db_url, text:///etc/kamailio/dbtext/ ) modparam ( auth_db, db_url, sqlite:///etc/kamailio/kamailiodb ) modparam ( auth_db, use_domain, 1 ) #use plaintext passwords for testing modparam ( auth_db, calculate_ha1, 1 ) modparam ( auth_db, version_table, 0 ) modparam ( auth_db, password_column, password ) modparam ( auth_db, load_credentials, $avp(s:username)=username; $avp(s:domain)=domain;$avp(s:password)=password ) modparam( memcached, servers, localhost:11211 ) modparam( dmq, server_address, sip:10.0.0.1:5060 ) modparam( dmq, notification_address, sip:dmq.my.domain.net ) #modparam( dmq, num_threads, 4 ) # modparam( dmq, ping_interval, 60 ) # # Main Route Block # include_file kamailio-errors.cfg route { # Uncomment next line if you want to see # each incoming message xlog( L_INFO, $rm: $fu - $ru ); if (!mf_process_maxfwd_header(20)) { route(ERROR_TOO_MANY_HOPS); } if (msg:len 4096) { route(ERROR_MESSAGE_OVERFLOW); } if ($rm == REGISTER ) { if ( dmq_is_from_node() ) { xlog( L_INFO, REGISTER from node ); route(REGISTER); exit; } else { # if we don't have credentials in cache authenticate against DB if ( $mct($tU@$td) == $null ) { if (!www_authenticate($td, subscriber)) { www_challenge($td, 1); exit; } else { route(REGISTER); xlog( L_INFO, Authenticated user $tU for domain $td against DB ); # store credentials into cache $mct($avp(s:username)@$avp(s:domain)) = $avp(s:password); exit; } } # credentials are in cache, authenticate against it else { if (!pv_www_authenticate($td, $mct($tU@$td), 0)) { # turn last param to 1 if using ha1 passwords # keep a counter of authentication attempts # if above 1 user is denied auth from cache so we discard the cache and force auth from DB at next attempt if ( $mct(count_$tU@$td) ) == $null { $mct(count_$tU@$td) = 1; } else { $mct(count_$tU@$td) = $null; $mct($tU@$td) = $null; xlog( L_INFO, Authentication count limit for user $tU for domain $td against cache reached. Cache discarded ); } www_challenge($td, 1); exit; } else { route(REGISTER); $mct( count_$tU@$td ) = $null; xlog( L_INFO, Authenticated user $tU for domain $td against cache ); exit; } } } } if ( $rm == KDMQ ) { dmq_handle_message(); }
[SR-Users] Get the SDP IP in Kamailio
Hi, since we integrated IPv6 into our existing routing logic, in some cases fix_nated_sdp gets called for IPv6 calls, too. (Actually, this just happens because of the mistakenly detected NAT.) But that ends up with a an error in the log. ERROR: nathelper [nathelper.c:1685]: replace_sdp_ip(): not an IPv4 address in 'c=' SDP So I'm looking for a way to exempt IPv6 calls from that. But I can't find a pseudovariable which carries the SDP contact IP. I guess I could take some function from the sdpops module, but is there a more convenient way to get just the contact IP? Best Regards, Sebastian ___ 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 IMS: can not register
Hi, can you make an ngrep or tcpdump, to see, what actually the reply is? Can you also check, that your DNS is properly working? From bare logs it looks like your P-CSCF does not get any reply from your I-CSCF or it fails to forward it. Remember: /etc/hosts won't work, you need a real DNS-Server. Kind regards, Carsten 2015-01-30 22:58 GMT+01:00 dfre...@ing.una.py: Hi all. I'm trying to setup Kamailio for IMS server, but I've reached a point where I can not move. Trying to register from the Boghe client, I get these errors from the pcscf: tail -f /var/log/syslog|grep './pcscf' Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[DE FAULT_ROUTE] c=[/etc/kamailio/pcscf/kamailio.cfg] l=402 a=25 n=xlog Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: script: REGISTER (sip:alice@ open-ims.test (192.168.1.105:62044) to sip:al...@open-ims.test, 20236156-7eed-01 e4-daac-5072e67f99e9) Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[DE FAULT_ROUTE] c=[/etc/kamailio/pcscf/kamailio.cfg] l=414 a=5 n=route Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=594 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=576 a=24 n=has_totag Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=584 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=590 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=584 a=24 n=pike_check_req Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=606 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=611 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=606 a=25 n=mf_process_maxfwd_heade r Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=617 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=611 a=26 n=sanity_check Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=623 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=617 a=24 n=has_totag Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=629 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=623 a=25 n=is_method Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=633 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=629 a=24 n=t_lookup_request Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=636 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=633 a=25 n=is_method Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[RE QINIT] c=[/etc/kamailio/pcscf/kamailio.cfg] l=634 a=26 n=send_reply Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[DE FAULT_ROUTE] c=[/etc/kamailio/pcscf/kamailio.cfg] l=417 a=5 n=route Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[NA T] c=[/etc/kamailio/pcscf/kamailio.cfg] l=673 a=55 n=force_rport Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[NA T] c=[/etc/kamailio/pcscf/kamailio.cfg] l=694 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[NA T] c=[/etc/kamailio/pcscf/kamailio.cfg] l=675 a=25 n=nat_uac_test Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[NA T] c=[/etc/kamailio/pcscf/kamailio.cfg] l=679 a=16 n=if Jan 29 22:36:29 kamailioast ./pcscf[3841]: ERROR: *** cfgtrace:request_route=[NA
Re: [SR-Users] Wrong location entries when using usrloc with Mongo
Any news regarding this issue? I don't think { expires : { $date : 1422728781000 }, expires : { $date : 0 } } is a valid query… Is the intent to remove entries where expires = 1422728781000 or expires = 0? If yes, I think the logical operator $or should be used for that? Let me know how I can help you to figure out what the issue is. Thanks, Mickael From: Mickael Marrache [mailto:mickaelmarra...@gmail.com] Sent: Saturday, January 31, 2015 8:32 PM To: 'Kamailio (SER) - Users Mailing List' Subject: RE: [SR-Users] Wrong location entries when using usrloc with Mongo Hi, The log entries are all of the form: DEBUG: db_mongodb [mongodb_dbase.c:948]: db_mongodb_delete(): delete filter document: { expires : { $date : 1422728781000 }, expires : { $date : 0 } } Mickael From: sr-users [mailto:sr-users-boun...@lists.sip-router.org] On Behalf Of Daniel-Constantin Mierla Sent: Friday, January 30, 2015 4:28 PM To: Kamailio (SER) - Users Mailing List Subject: Re: [SR-Users] Wrong location entries when using usrloc with Mongo I checked quickly the code and mongo c api, it looks ok. Can you see a debug message with content like: ... delete filter document: ... when running with debug=3? If yes, can you send it over to check if is correct? Cheers, Daniel On Fri, Jan 30, 2015 at 10:45 AM, Daniel-Constantin Mierla mico...@gmail.com wrote: Hello, it seems that the fileds inside the object are deleted, not the entire object. The match was done on username and ruid for deletion, both of them are missing. I will look at the mongo api to see if something was set wrong there for the delete command. Cheers, Daniel On Fri, Jan 30, 2015 at 9:54 AM, Mickael Marrache mickaelmarra...@gmail.com wrote: I forgot to precise that I allow only one contact per AOR. modparam(registrar, max_contacts, 1) save(location, 0x04) From: Mickael Marrache [mailto:mickaelmarra...@gmail.com] Sent: Friday, January 30, 2015 10:51 AM To: sr-users@lists.sip-router.org Subject: Wrong location entries when using usrloc with Mongo Hi, I start with no location nor in Mongo, nor in memory. My UA registers successfully and I can see the location entry in Mongo. Then, I close my UA which unregisters (by setting Expires header to 0). Then, I open the app again and a new registration is made. The entry after first registration. Looks okay. { _id : ObjectId(54cb38f684e58133783f2b42), username : A, contact : sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp, expires : ISODate(2015-01-30T08:55:34Z), q : -1, callid : 297EC55073A07BF78F0C05822A6CCDFB47E48705, cseq : 8809, flags : 0, cflags : 0, user_agent : Acrobits Softphone Business/3.1, received : sip:XXX:54217;transport=tcp, path : sip:XX;lr;received=sip:XXX:54217%3Btransport%3Dtcp, socket : udp:X:5060, methods : 4751, last_modified : ISODate(2015-01-30T07:55:34Z), ruid : uloc-54cb38df-3378-2, instance : null, reg_id : 0 } The same entry after un register (Expires 0). Note that the username field is missing. In any case, I expected the entry to be deleted. { _id : ObjectId(54cb38f684e58133783f2b42), expires : ISODate(2015-01-30T08:56:51Z), q : -1, cseq : 8811, flags : 0, cflags : 0, user_agent : Acrobits Softphone Business/3.1, received : sip: X:54217;transport=tcp, path : sip: X;lr;received=sip: X:54217%3Btransport%3Dtcp, socket : udp: X:5060, methods : 4751, last_modified : ISODate(2015-01-30T07:56:51Z), callid : 297EC55073A07BF78F0C05822A6CCDFB47E48705, instance : null, reg_id : 0, contact : sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp } The entries after second registration. The new entry looks okay. But, the old entry is still here. { _id : ObjectId(54cb38f684e58133783f2b42), expires : ISODate(2015-01-30T08:56:51Z), q : -1, cseq : 8811, flags : 0, cflags : 0, user_agent : Acrobits Softphone Business/3.1, received : sip: X:54217;transport=tcp, path : sip: X;lr;received=sip: X:54217%3Btransport%3Dtcp, socket : udp: X:5060, methods : 4751, last_modified : ISODate(2015-01-30T07:56:51Z), callid : 297EC55073A07BF78F0C05822A6CCDFB47E48705, instance : null, reg_id : 0, contact : sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp } { _id : ObjectId(54cb3a7884e581337a25b895), username : A, contact : sip:A@192.168.1.3:54217;rinstance=DFAEBBC7;transport=tcp, expires : ISODate(2015-01-30T09:02:00Z), q : -1, callid : 297EC55073A07BF78F0C05822A6CCDFB47E48705, cseq : 8813, flags : 0, cflags : 0, user_agent : Acrobits Softphone Business/3.1, received : sip: X:54217;transport=tcp, path : sip: X;lr;received=sip: X:54217%3Btransport%3Dtcp, socket : udp: X:5060, methods : 4751, last_modified : ISODate(2015-01-30T08:02:00Z), ruid : uloc-54cb38df-337a-1, instance : null, reg_id : 0 } The issue is the entry is not
Re: [SR-Users] Ro_CCR function
A little more digging showed that get_dlg() checks callID, fromTag and toTag - clearly this is going to fail if the check is done on an INVITE since the dialog is not yet formed. So now I am confused - how can the ims_charging function Ro_CCR() be called in my kamailio config script upon receipt of an INVITE and be dependent on having a dialog... What am I missing here? Cheers Shane -Original Message- From: sr-users [mailto:sr-users-boun...@lists.sip-router.org] On Behalf Of Shane Harrison Sent: Tuesday, 3 February 2015 1:40 p.m. To: Kamailio (SER) - Users Mailing List Subject: Re: [SR-Users] Ro_CCR function Well further reading :-) and digging has allowed me to understand that the 'location' table is used because of the save('location') call. The ims_charging_module assumes that a table will exist with the same name as the domain specified in the Ro_CCR(). Interestingly, I wasn't successful in using a table called ' voip.we- rcs.flowcloud.systems' as the db_check_table_version() didn't seem to like the '.' or the '-'. I guess back ticks aren't being used in the SQL query. Anyway, for the time being I am specifying a domain that doesn't have either periods or dashes. My problem now is that no dialog is being found and hence no charging requests are generated. I have set the dialog flag: modparam(dialog_ng, dlg_flag, 2) if (is_method(INVITE)) { dlg_setflag(2); xlog(L_DBG,Sending initial CCR Request for call\n); Ro_CCR(CHARGING_CCR_REPLY, orig, SCUR, , 30,CCR_location); } but still get: dialog_ng [dlg_hash.c:924]: get_dlg(): no dialog callid='6428867e- 2@192.168.148.30' found kamcmd does show the dialog with dlg2_list but of course that is later in the SIP messaging flow by the time I look at it. Anything obvious I am doing wrong that means the dialog isn't found? I am assuming that on reception of the INVITE is when I should do the initial CCR request even though the dialog is not fully formed yet. Cheers Shane On 2 February 2015 2:43 p.m, Shane Harrison wrote: From: sr-users [mailto:sr-users-boun...@lists.sip-router.org] On Behalf Of Shane Harrison Sent: Monday, 2 February 2015 2:43 p.m. To: sr-users@lists.sip-router.org Subject: [SR-Users] Ro_CCR function Hi all, In a previous post I was alerted to the (perhaps obvious) fact that that ims_charging module is design to run within an IMS environment: http://lists.sip-router.org/pipermail/sr-users/2015-January/086675.htm l I have subsequently attempted to modify the module to work with the standard usrloc Kamailio module. I decided to branch from the 4.2.2 release rather than the master since I was unsure of the state of the ims_charging module in the master. It now compiles fine and installs. I also have the cdp module talking watchdog_requests to a freeDiameter server so at that level things seem OK. However inserting the Ro_CCR() call into the kamailio cfg file shows up some problems, primarily: Feb 2 01:05:52 hh-rcs-sipproxy3 /usr/sbin/kamailio[6473]: WARNING: usrloc [dlist.c:624]: register_udomain(): Registering a new domain called 'voip.we-rcs.flowcloud.systems' with usrloc Feb 2 01:05:52 hh-rcs-sipproxy3 /usr/sbin/kamailio[6473]: ERROR: core [db.c:443]: db_check_table_version(): invalid version 0 for table voip.we-rcs.flowcloud.systems found, expected 6 (check table structure and table version) Exploring this error leads me to a few questions: 1) The 4.2.2 Ro_CCR() has the diameter domain as a parameter. The addition of this function to my kamailio.cfg file causes ro_fixup() - domain_fixup() - ul.register_domain which as per the log above, attempts to look for a table with the same name as the domain. Is it expected that such a table exists, for standard Kamailio I thought all usrloc records simply go into the Location table , regardless of the domain. 2) What is the purpose of the ro_fixup() 3) I notice that the 4.3 module documentation for ims_charging module has 6 parameters for the function call while the example code given in the same section as only 5 (missing domain). The code from the master branch for the function is different again - not sure if 4.3 is still in quite a bit of flux or not for the ims_charging module? 4) Should I be using 4.3 ims_charging module as a starting point or is 4.2.2 good enough i.e are there major changes? At this stage I am going to create a table for the domain but would like some clarity on how the usrloc and domains relate to table names. ___ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr- us...@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
Re: [SR-Users] dmq_t_replicate fails with ERROR: t_forward_nonack: no branches for forwarding
Hi, Can you send the output of kamcmd dmq.list_nodes (mask IP addresses if needed)? I will try to replicate your scenario and come back with a solution shortly. By the way, your dmq notification_address parameter looks slightly odd (although I don't know what you're doing with DNS) - it should simply point to one other node in the cluster, so that on startup it can request information about any other nodes from this one. Also, in the block which calls dmq_handle_message(), you should exit straight away after. One final note, you should really listen on a separate port for dmq purposes (e.g. 5080) and restrict access to it at firewall level. You can then check in config that the message was received on this port, like: if (method == KDMQ $Rp == 5080) { dmq_handle_message(); exit; } Regards, Charles On 2 February 2015 at 10:52, Leonardo Arena rna...@gmail.com wrote: Hi all, I have three Registrar-only proxies DMQ interconnected [1]. I'm attempting to use a client to register to one of them and replicate REGISTRAR message to the other two. * What it works: - Clients registration to proxy1 - Proxy1 replication of REGISTRAR message to proxy2 * What does not work: - Proxy replication of REGISTRAR message to proxy3 * Error message of proxy1: ERROR: tm [t_fwd.c:1770]: t_forward_nonack(): ERROR: t_forward_nonack: no branches for forwarding ERROR: dmq [dmq_funcs.c:410]: cfg_dmq_t_replicate(): error calling t_replicate append_branch() did't help me and a search on the ML either. What am I doing wrong? Thanks! - leonardo [1] # # Global Definitions # debug = 2 fork = yes log_stderror = no # listen = 0.0.0.0 port = 5060 children = 4 dns = no rev_dns = no use_dns_failover =on dns_srv_lb = yes #dns_try_naptr=no mpath = /usr/lib/kamailio/modules_k/:/usr/lib/kamailio/modules/ # # Modules # loadmodule tm.so loadmodule sl.so loadmodule tmx.so loadmodule maxfwd.so loadmodule usrloc.so loadmodule registrar.so loadmodule pv.so loadmodule xlog.so loadmodule ctl.so #loadmodule db_text.so loadmodule db_sqlite.so loadmodule auth.so loadmodule auth_db.so loadmodule memcached.so loadmodule dmq.so loadmodule corex.so # # Module Configuration # modparam ( usrloc, db_mode, 0 ) modparam ( usrloc, use_domain, 1 ) modparam ( usrloc, hash_size, 20 ) #modparam ( ctl, binrpc_max_body_size, 1 ) #modparam ( ctl, binrpc_struct_max_body_size, 200 ) #default #modparam ( db_text, db_mode, 0 ) modparam ( auth, use_domain, 1 ) #modparam ( auth_db, db_url, text:///etc/kamailio/dbtext/ ) modparam ( auth_db, db_url, sqlite:///etc/kamailio/kamailiodb ) modparam ( auth_db, use_domain, 1 ) #use plaintext passwords for testing modparam ( auth_db, calculate_ha1, 1 ) modparam ( auth_db, version_table, 0 ) modparam ( auth_db, password_column, password ) modparam ( auth_db, load_credentials, $avp(s:username)=username; $avp(s:domain)=domain;$avp(s:password)=password ) modparam( memcached, servers, localhost:11211 ) modparam( dmq, server_address, sip:10.0.0.1:5060 ) modparam( dmq, notification_address, sip:dmq.my.domain.net ) #modparam( dmq, num_threads, 4 ) # modparam( dmq, ping_interval, 60 ) # # Main Route Block # include_file kamailio-errors.cfg route { # Uncomment next line if you want to see # each incoming message xlog( L_INFO, $rm: $fu - $ru ); if (!mf_process_maxfwd_header(20)) { route(ERROR_TOO_MANY_HOPS); } if (msg:len 4096) { route(ERROR_MESSAGE_OVERFLOW); } if ($rm == REGISTER ) { if ( dmq_is_from_node() ) { xlog( L_INFO, REGISTER from node ); route(REGISTER); exit; } else { # if we don't have credentials in cache authenticate against DB if ( $mct($tU@$td) == $null ) { if (!www_authenticate($td, subscriber)) { www_challenge($td, 1); exit; } else { route(REGISTER); xlog( L_INFO, Authenticated user $tU for domain $td against DB ); # store credentials into cache $mct($avp(s:username)@$avp(s:domain)) = $avp(s:password); exit; } } # credentials are in cache, authenticate against it else { if (!pv_www_authenticate($td,
[SR-Users] Siremis v4.2.0 Released
Hi, Siremis v4.2.0 has been released, web management interface aiming at compatibility with Kamailio v4.2.x series - notes about release are available at: - http://siremis.asipto.com/2015/02/02/siremis-v4-2-0-released/ Ramona ___ 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