[SR-Users] OpenIMSCore and Kamalio Integration
Carsten Bock
lists at bock.info
Thu Jan 13 10:14:00 CET 2011
Hi Andrés,
I have updated our repository. The packages are now signed, so you may
want to install the Key:
wget http://repository.ng-voice.com/ngvoice-debian-gpg.key
apt-key add ngvoice-debian-gpg.key
Then add our repository to your “/etc/apt/sources.list”:
deb http://repository.ng-voice.com/ims lenny main contrib non-free
deb-src http://repository.ng-voice.com/ims lenny main contrib non-free
(they are for Debian Lenny only right now)
Then you may simply install the Kamailio IMS Modules:
apt-get install kamailio kamailio-ims-modules
(in order to update the packages, you need to remove kamailio (apt-get
remove kamailio), clean your local deb-cache (apt-get clean) and
reinstall the packages)
The repository also contains other packages, such as:
- the RTP-Proxy (for the P-CSCF, package rtpproxy. latest stable version)
- the Fokus FHoSS HSS-Server (package openimscore-fhoss)
(all debian lenny only right now)
I've made some installation notes here:
http://www.ng-voice.com/our-solution/installation/
The previous repository, i gave you in private mail (on our build
server) is no longer available, unless building packages or updating
our systems, the system is turned off.
Kind regards,
Carsten
2011/1/10 "Andrés S. García Ruiz" <asgarcia at um.es>:
>
> Hi Carsten,
>
> There are very good news!! I will be expecting the repository to be
> accessible in order to test it!
>
> Regards,
> Andrés.
>
> El 07/01/11 11:49, Carsten Bock escribió:
>>
>> Hi,
>>
>> the current status is following:
>>
>> => OpenIMS-Core:
>> - all OpenIMS module compile using Kamailio
>> - "make deb" (i have added "deb-lenny" and "deb-squeeze" targets as
>> well) will build the standard kamailio packages and a new
>> "kamailio-ims-modules" package
>> - You need to adapt the configuration of the OpenIMS-P-CSCF a little,
>> to make it work (basically change some paths); i will add a working
>> config next week
>> - so far, i did only test the P-CSCF-setup with Kamailio, tests of the
>> I-/S-CSCF-modules should will follow in the next days (+ i will add
>> configurations for those components to the branch)
>> - we have a testsetup in place, consisting of the "original" OpenIMS
>> P-/I- and S-CSCF, the Kamailio replacements, a presence/XCAP-server
>> (to make the setup more interesting, thanks to Daniel for his great
>> howto on asipto.com) and the FHoSS. All systems run on dedicated
>> (virtual) machines.
>> - as soon as there is more progress, i can make our repository for
>> debian lenny accessible from the outside world (it currently just has
>> a private IP)
>>
>> => OpenHSS.org (as a FHoSS-Replacement):
>> - a year ago, i started to develop a replacement for Java FHoSS:
>> openhss.org (which would be a direct port from the FHoSS to C with
>> CDP)
>> - due to personal changes (new job, 5 days a week a new city), i
>> "paused" the development
>> - But now, there is good news: I found someone, who will finish the
>> development: Brian "edge" Edginton
>> (http://www.ng-voice.com/our-team/brian/)
>>
>> The full roadmap can be found here:
>> http://www.ng-voice.com/our-solution/roadmap/
>> (it contains such "ugly" points as add documentation ;-) )
>>
>> The goal of the project is to create a stable, fast, open-source,
>> feature-rich IMS implementation based on Kamailio and the
>> OpenIMS-Core.
>>
>> For latest updates on our development, please visit our blog:
>> http://www.ng-voice.com/
>>
>> Kind regards,
>> Carsten
>>
>> 2011/1/7 Daniel-Constantin Mierla<miconda at gmail.com>:
>>>
>>> Btw, fyi, Carsten Bock is working on Git branch 'cartenbock/ims' for
>>> making
>>> straightforward usage of openimscore modules with latest kamailio. If you
>>> are interested in this kind of platform, maybe you should fetch that
>>> branch,
>>> help testing and integration work.
>>>
>>> Cheers,
>>> Daniel
>>>
>>> On 12/3/10 10:56 AM, "Andrés S. García Ruiz" wrote:
>>>>
>>>> It works now! Thanks a lot!
>>>>
>>>> Regards,
>>>> Andrés.
>>>>
>>>> El 30/11/10 21:56, Daniel-Constantin Mierla escribió:
>>>>>
>>>>> Hello,
>>>>>
>>>>> the comments at the beginning of the configuration files tells you more
>>>>> about how some features are enabled/disabled. I assume you read them as
>>>>> you
>>>>> enabled authenitcation (by default is disabled) -- you have #!define
>>>>> WITH_AUTH.
>>>>>
>>>>> Maybe in your particular case the best solution is to enable IP
>>>>> authentication and add the IP address of OpenIMSCore in address table
>>>>> with
>>>>> group id 1.
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>>
>>>>> On 11/29/10 3:27 PM, "Andrés S. García Ruiz" wrote:
>>>>>>
>>>>>> Thanks for your comment,
>>>>>>
>>>>>> This is my configuration, could you please tell me how to disable
>>>>>> authentication?
>>>>>>
>>>>>> #!KAMAILIO
>>>>>> #
>>>>>> # Kamailio (OpenSER) SIP Server v3.1 - default configuration script
>>>>>> # - web: http://www.kamailio.org
>>>>>> # - git: http://sip-router.org
>>>>>> #
>>>>>> # Direct your questions about this file to:
>>>>>> <sr-users at lists.sip-router.org>
>>>>>> #
>>>>>> # Refer to the Core CookBook at
>>>>>> http://www.kamailio.org/dokuwiki/doku.php
>>>>>> # for an explanation of possible statements, functions and parameters.
>>>>>> #
>>>>>> # Several features can be enabled using '#!define WITH_FEATURE'
>>>>>> directives:
>>>>>> #
>>>>>> # *** To run in debug mode:
>>>>>> # - define WITH_DEBUG
>>>>>> #
>>>>>> # *** To enable mysql:
>>>>>> # - define WITH_MYSQL
>>>>>> #
>>>>>> # *** To enable authentication execute:
>>>>>> # - enable mysql
>>>>>> # - define WITH_AUTH
>>>>>> # - add users using 'kamctl'
>>>>>> #
>>>>>> # *** To enable IP authentication execute:
>>>>>> # - enable mysql
>>>>>> # - enable authentication
>>>>>> # - define WITH_IPAUTH
>>>>>> # - add IP addresses with group id '1' to 'address' table
>>>>>> #
>>>>>> # *** To enable persistent user location execute:
>>>>>> # - enable mysql
>>>>>> # - define WITH_USRLOCDB
>>>>>> #
>>>>>> # *** To enable presence server execute:
>>>>>> # - enable mysql
>>>>>> # - define WITH_PRESENCE
>>>>>> #
>>>>>> # *** To enable nat traversal execute:
>>>>>> # - define WITH_NAT
>>>>>> # - install RTPProxy: http://www.rtpproxy.org
>>>>>> # - start RTPProxy:
>>>>>> # rtpproxy -l _your_public_ip_ -s udp:localhost:7722
>>>>>> #
>>>>>> # *** To enable PSTN gateway routing execute:
>>>>>> # - define WITH_PSTN
>>>>>> # - set the value of pstn.gw_ip
>>>>>> # - check route[PSTN] for regexp routing condition
>>>>>> #
>>>>>> # *** To enable database aliases lookup execute:
>>>>>> # - enable mysql
>>>>>> # - define WITH_ALIASDB
>>>>>> #
>>>>>> # *** To enable multi-domain support execute:
>>>>>> # - enable mysql
>>>>>> # - define WITH_MULTIDOMAIN
>>>>>> #
>>>>>> # *** To enable TLS support execute:
>>>>>> # - adjust CFGDIR/tls.cfg as needed
>>>>>> # - define WITH_TLS
>>>>>> #
>>>>>> # *** To enable XMLRPC support execute:
>>>>>> # - define WITH_XMLRPC
>>>>>> # - adjust route[XMLRPC] for access policy
>>>>>> #
>>>>>> # *** To enable anti-flood detection execute:
>>>>>> # - adjust pike and htable=>ipban settings as needed (default is
>>>>>> # block if more than 16 requests in 2 seconds and ban for 300
>>>>>> seconds)
>>>>>> # - define WITH_ANTIFLOOD
>>>>>> #
>>>>>> # *** To enhance accounting execute:
>>>>>> # - enable mysql
>>>>>> # - define WITH_ACCDB
>>>>>> # - add following columns to database
>>>>>> #!ifdef ACCDB_COMMENT
>>>>>> ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT '';
>>>>>> ALTER TABLE acc ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT
>>>>>> '';
>>>>>> ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT '';
>>>>>> ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT '';
>>>>>> ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT
>>>>>> '';
>>>>>> ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64) NOT NULL
>>>>>> DEFAULT '';
>>>>>> ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL
>>>>>> DEFAULT '';
>>>>>> ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL
>>>>>> DEFAULT '';
>>>>>> ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT NULL
>>>>>> DEFAULT '';
>>>>>> ALTER TABLE missed_calls ADD COLUMN dst_domain VARCHAR(128) NOT NULL
>>>>>> DEFAULT '';
>>>>>> #!endif
>>>>>>
>>>>>> ####### Defined Values #########
>>>>>>
>>>>>> #!define WITH_DEBUG
>>>>>> #!define WITH_AUTH
>>>>>> #!define WITH_MYSQL
>>>>>> #!define WITH_USRLOCDB
>>>>>>
>>>>>> # *** Value defines - IDs used later in config
>>>>>> #!ifdef WITH_MYSQL
>>>>>> # - database URL - used to connect to database server by modules such
>>>>>> # as: auth_db, acc, usrloc, a.s.o.
>>>>>> #!define DBURL "mysql://openser:openserrw@localhost/openser"
>>>>>> #!endif
>>>>>> #!ifdef WITH_MULTIDOMAIN
>>>>>> # - the value for 'use_domain' parameters
>>>>>> #!define MULTIDOMAIN 1
>>>>>> #!else
>>>>>> #!define MULTIDOMAIN 0
>>>>>> #!endif
>>>>>>
>>>>>> # - flags
>>>>>> # FLT_ - per transaction (message) flags
>>>>>> # FLB_ - per branch flags
>>>>>> #!define FLT_ACC 1
>>>>>> #!define FLT_ACCMISSED 2
>>>>>> #!define FLT_ACCFAILED 3
>>>>>> #!define FLT_NATS 5
>>>>>>
>>>>>> #!define FLB_NATB 6
>>>>>> #!define FLB_NATSIPPING 7
>>>>>>
>>>>>> ####### Global Parameters #########
>>>>>>
>>>>>> #!ifdef WITH_DEBUG
>>>>>> debug=4
>>>>>> log_stderror=yes
>>>>>> #!else
>>>>>> debug=2
>>>>>> log_stderror=no
>>>>>> #!endif
>>>>>>
>>>>>> memdbg=5
>>>>>> memlog=5
>>>>>>
>>>>>> log_facility=LOG_LOCAL0
>>>>>>
>>>>>> fork=yes
>>>>>> children=4
>>>>>>
>>>>>> /* uncomment the next line to disable TCP (default on) */
>>>>>> #disable_tcp=yes
>>>>>>
>>>>>>
>>>>>> /* uncomment the next line to disable the auto discovery of local
>>>>>> aliases
>>>>>> based on reverse DNS on IPs (default on) */
>>>>>> #auto_aliases=no
>>>>>>
>>>>>> /* add local domain aliases */
>>>>>> alias="open-ims.test"
>>>>>>
>>>>>> /* uncomment and configure the following line if you want Kamailio to
>>>>>> bind on a specific interface/port/proto (default bind on all
>>>>>> available) */
>>>>>> #listen=udp:10.0.0.10:5060
>>>>>>
>>>>>> /* port to listen to
>>>>>> * - can be specified more than once if needed to listen on many ports
>>>>>> */
>>>>>> port=5060
>>>>>>
>>>>>> #!ifdef WITH_TLS
>>>>>> enable_tls=yes
>>>>>> #!endif
>>>>>>
>>>>>> ####### Custom Parameters #########
>>>>>>
>>>>>> # These parameters can be modified runtime via RPC interface
>>>>>> # - see the documentation of 'cfg_rpc' module.
>>>>>> #
>>>>>> # Format: group.id = value 'desc' description
>>>>>> # Access: $sel(cfg_get.group.id) or @cfg_get.group.id
>>>>>> #
>>>>>>
>>>>>> #!ifdef WITH_PSTN
>>>>>> # PSTN GW Routing
>>>>>> #
>>>>>> # - pstn.gw_ip: valid IP or hostname as string value, example:
>>>>>> # pstn.gw_ip = "10.0.0.101" desc "My PSTN GW Address"
>>>>>> #
>>>>>> # - by default is empty to avoid misrouting
>>>>>> pstn.gw_ip = "" desc "PSTN GW Address"
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> ####### Modules Section ########
>>>>>>
>>>>>> # set paths to location of modules
>>>>>> #!ifdef LOCAL_TEST_RUN
>>>>>> mpath="modules_k:modules"
>>>>>> #!else
>>>>>>
>>>>>>
>>>>>> mpath="/usr/local/lib/kamailio/modules_k/:/usr/local/lib/kamailio/modules/"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_MYSQL
>>>>>> loadmodule "db_mysql.so"
>>>>>> #!endif
>>>>>>
>>>>>> 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"
>>>>>>
>>>>>> #!ifdef WITH_AUTH
>>>>>> loadmodule "auth.so"
>>>>>> loadmodule "auth_db.so"
>>>>>> #!ifdef WITH_IPAUTH
>>>>>> loadmodule "permissions.so"
>>>>>> #!endif
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_ALIASDB
>>>>>> loadmodule "alias_db.so"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_MULTIDOMAIN
>>>>>> loadmodule "domain.so"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_PRESENCE
>>>>>> loadmodule "presence.so"
>>>>>> loadmodule "presence_xml.so"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_NAT
>>>>>> loadmodule "nathelper.so"
>>>>>> loadmodule "rtpproxy.so"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_TLS
>>>>>> loadmodule "tls.so"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_ANTIFLOOD
>>>>>> loadmodule "htable.so"
>>>>>> loadmodule "pike.so"
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_XMLRPC
>>>>>> loadmodule "xmlrpc.so"
>>>>>> #!endif
>>>>>>
>>>>>> # ----------------- setting module-specific parameters ---------------
>>>>>>
>>>>>>
>>>>>> # ----- mi_fifo params -----
>>>>>> modparam("mi_fifo", "fifo_name", "/tmp/kamailio_fifo")
>>>>>>
>>>>>>
>>>>>> # ----- tm params -----
>>>>>> # auto-discard branches from previous serial forking leg
>>>>>> modparam("tm", "failure_reply_mode", 3)
>>>>>> # default retransmission timeout: 30sec
>>>>>> modparam("tm", "fr_timer", 30000)
>>>>>> # default invite retransmission timeout after 1xx: 120sec
>>>>>> modparam("tm", "fr_inv_timer", 120000)
>>>>>>
>>>>>>
>>>>>> # ----- rr params -----
>>>>>> # add value to ;lr param to cope with most of the UAs
>>>>>> modparam("rr", "enable_full_lr", 1)
>>>>>> # do not append from tag to the RR (no need for this script)
>>>>>> modparam("rr", "append_fromtag", 0)
>>>>>>
>>>>>>
>>>>>> # ----- registrar params -----
>>>>>> modparam("registrar", "method_filtering", 1)
>>>>>> /* uncomment the next line to disable parallel forking via location */
>>>>>> # modparam("registrar", "append_branches", 0)
>>>>>> /* uncomment the next line not to allow more than 10 contacts per AOR
>>>>>> */
>>>>>> #modparam("registrar", "max_contacts", 10)
>>>>>>
>>>>>>
>>>>>> # ----- acc params -----
>>>>>> /* what special events should be accounted ? */
>>>>>> modparam("acc", "early_media", 0)
>>>>>> modparam("acc", "report_ack", 0)
>>>>>> modparam("acc", "report_cancels", 0)
>>>>>> /* by default ww do not adjust the direct of the sequential requests.
>>>>>> if you enable this parameter, be sure the enable "append_fromtag"
>>>>>> in "rr" module */
>>>>>> modparam("acc", "detect_direction", 0)
>>>>>> /* account triggers (flags) */
>>>>>> modparam("acc", "log_flag", FLT_ACC)
>>>>>> modparam("acc", "log_missed_flag", FLT_ACCMISSED)
>>>>>> modparam("acc", "log_extra",
>>>>>>
>>>>>>
>>>>>> "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>>>>>> modparam("acc", "failed_transaction_flag", FLT_ACCFAILED)
>>>>>> /* enhanced DB accounting */
>>>>>> #!ifdef WITH_ACCDB
>>>>>> modparam("acc", "db_flag", FLT_ACC)
>>>>>> modparam("acc", "db_missed_flag", FLT_ACCMISSED)
>>>>>> modparam("acc", "db_url", DBURL)
>>>>>> modparam("acc", "db_extra",
>>>>>>
>>>>>>
>>>>>> "src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd")
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> # ----- usrloc params -----
>>>>>> /* enable DB persistency for location entries */
>>>>>> #!ifdef WITH_USRLOCDB
>>>>>> modparam("usrloc", "db_url", DBURL)
>>>>>> modparam("usrloc", "db_mode", 2)
>>>>>> modparam("usrloc", "use_domain", MULTIDOMAIN)
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> # ----- auth_db params -----
>>>>>> #!ifdef WITH_AUTH
>>>>>> modparam("auth_db", "db_url", DBURL)
>>>>>> modparam("auth_db", "calculate_ha1", yes)
>>>>>> modparam("auth_db", "password_column", "password")
>>>>>> modparam("auth_db", "load_credentials", "")
>>>>>> modparam("auth_db", "use_domain", MULTIDOMAIN)
>>>>>>
>>>>>> # ----- permissions params -----
>>>>>> #!ifdef WITH_IPAUTH
>>>>>> modparam("permissions", "db_url", DBURL)
>>>>>> modparam("permissions", "db_mode", 1)
>>>>>> #!endif
>>>>>>
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> # ----- alias_db params -----
>>>>>> #!ifdef WITH_ALIASDB
>>>>>> modparam("alias_db", "db_url", DBURL)
>>>>>> modparam("alias_db", "use_domain", MULTIDOMAIN)
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> # ----- domain params -----
>>>>>> #!ifdef WITH_MULTIDOMAIN
>>>>>> modparam("domain", "db_url", DBURL)
>>>>>> # use caching
>>>>>> modparam("domain", "db_mode", 1)
>>>>>> # register callback to match myself condition with domains list
>>>>>> modparam("domain", "register_myself", 1)
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> #!ifdef WITH_PRESENCE
>>>>>> # ----- presence params -----
>>>>>> modparam("presence", "db_url", DBURL)
>>>>>>
>>>>>> # ----- presence_xml params -----
>>>>>> modparam("presence_xml", "db_url", DBURL)
>>>>>> modparam("presence_xml", "force_active", 1)
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> #!ifdef WITH_NAT
>>>>>> # ----- rtpproxy params -----
>>>>>> modparam("rtpproxy", "rtpproxy_sock", "udp:127.0.0.1:7722")
>>>>>>
>>>>>> # ----- nathelper params -----
>>>>>> modparam("nathelper", "natping_interval", 30)
>>>>>> modparam("nathelper", "ping_nated_only", 1)
>>>>>> modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
>>>>>> modparam("nathelper", "sipping_from", "sip:pinger at kamailio.org")
>>>>>>
>>>>>> # params needed for NAT traversal in other modules
>>>>>> modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
>>>>>> modparam("usrloc", "nat_bflag", FLB_NATB)
>>>>>> #!endif
>>>>>>
>>>>>>
>>>>>> #!ifdef WITH_TLS
>>>>>> # ----- tls params -----
>>>>>> modparam("tls", "config", "/usr/local/etc/kamailio/tls.cfg")
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_ANTIFLOOD
>>>>>> # ----- pike params -----
>>>>>> modparam("pike", "sampling_time_unit", 2)
>>>>>> modparam("pike", "reqs_density_per_unit", 16)
>>>>>> modparam("pike", "remove_latency", 4)
>>>>>>
>>>>>> # ----- htable params -----
>>>>>> # ip ban htable with autoexpire after 5 minutes
>>>>>> modparam("htable", "htable", "ipban=>size=8;autoexpire=300;")
>>>>>> #!endif
>>>>>>
>>>>>> #!ifdef WITH_XMLRPC
>>>>>> # ----- xmlrpc params -----
>>>>>> modparam("xmlrpc", "route", "XMLRPC");
>>>>>> modparam("xmlrpc", "url_match", "^/RPC")
>>>>>> #!endif
>>>>>>
>>>>>> ####### Routing Logic ########
>>>>>>
>>>>>>
>>>>>> # Main SIP request routing logic
>>>>>> # - processing of any incoming SIP request starts with this route
>>>>>> route {
>>>>>>
>>>>>> # per request initial checks
>>>>>> route(REQINIT);
>>>>>>
>>>>>> # NAT detection
>>>>>> route(NAT);
>>>>>>
>>>>>> # handle requests within SIP dialogs
>>>>>> route(WITHINDLG);
>>>>>>
>>>>>> ### only initial requests (no To tag)
>>>>>>
>>>>>> # CANCEL processing
>>>>>> if (is_method("CANCEL"))
>>>>>> {
>>>>>> if (t_check_trans())
>>>>>> t_relay();
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> t_check_trans();
>>>>>>
>>>>>> # authentication
>>>>>> route(AUTH);
>>>>>>
>>>>>> # record routing for dialog forming requests (in case they are
>>>>>> routed)
>>>>>> # - remove preloaded route headers
>>>>>> remove_hf("Route");
>>>>>> if (is_method("INVITE|SUBSCRIBE"))
>>>>>> record_route();
>>>>>>
>>>>>> # account only INVITEs
>>>>>> if (is_method("INVITE"))
>>>>>> {
>>>>>> setflag(FLT_ACC); # do accounting
>>>>>> }
>>>>>>
>>>>>> # dispatch requests to foreign domains
>>>>>> route(SIPOUT);
>>>>>>
>>>>>> ### requests for my local domains
>>>>>>
>>>>>> # handle presence related requests
>>>>>> route(PRESENCE);
>>>>>>
>>>>>> # handle registrations
>>>>>> route(REGISTRAR);
>>>>>>
>>>>>> if ($rU==$null)
>>>>>> {
>>>>>> # request with no Username in RURI
>>>>>> sl_send_reply("484","Address Incomplete");
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> # dispatch destinations to PSTN
>>>>>> route(PSTN);
>>>>>>
>>>>>> # user location service
>>>>>> route(LOCATION);
>>>>>>
>>>>>> route(RELAY);
>>>>>> }
>>>>>>
>>>>>>
>>>>>> route[RELAY] {
>>>>>> #!ifdef WITH_NAT
>>>>>> if (check_route_param("nat=yes")) {
>>>>>> setbflag(FLB_NATB);
>>>>>> }
>>>>>> if (isflagset(FLT_NATS) || isbflagset(FLB_NATB)) {
>>>>>> route(RTPPROXY);
>>>>>> }
>>>>>> #!endif
>>>>>>
>>>>>> /* example how to enable some additional event routes */
>>>>>> if (is_method("INVITE")) {
>>>>>> #t_on_branch("BRANCH_ONE");
>>>>>> t_on_reply("REPLY_ONE");
>>>>>> t_on_failure("FAIL_ONE");
>>>>>> }
>>>>>>
>>>>>> if (!t_relay()) {
>>>>>> sl_reply_error();
>>>>>> }
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> # Per SIP request initial checks
>>>>>> route[REQINIT] {
>>>>>> #!ifdef WITH_ANTIFLOOD
>>>>>> # flood dection from same IP and traffic ban for a while
>>>>>> # be sure you exclude checking trusted peers, such as pstn gateways
>>>>>> # - local host excluded (e.g., loop to self)
>>>>>> if(src_ip!=myself)
>>>>>> {
>>>>>> if($sht(ipban=>$si)!=$null)
>>>>>> {
>>>>>> # ip is already blocked
>>>>>> xdbg("request from blocked IP - $rm from $fu
>>>>>> (IP:$si:$sp)\n");
>>>>>> exit;
>>>>>> }
>>>>>> if (!pike_check_req())
>>>>>> {
>>>>>> xlog("L_ALERT","ALERT: pike blocking $rm from $fu
>>>>>> (IP:$si:$sp)\n");
>>>>>> $sht(ipban=>$si) = 1;
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>> #!endif
>>>>>>
>>>>>> if (!mf_process_maxfwd_header("10")) {
>>>>>> sl_send_reply("483","Too Many Hops");
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> if(!sanity_check("1511", "7"))
>>>>>> {
>>>>>> xlog("Malformed SIP message from $si:$sp\n");
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # Handle requests within SIP dialogs
>>>>>> route[WITHINDLG] {
>>>>>> if (has_totag()) {
>>>>>> # sequential request withing a dialog should
>>>>>> # take the path determined by record-routing
>>>>>> if (loose_route()) {
>>>>>> if (is_method("BYE")) {
>>>>>> setflag(FLT_ACC); # do accounting ...
>>>>>> setflag(FLT_ACCFAILED); # ... even if the transaction
>>>>>> fails
>>>>>> }
>>>>>> route(RELAY);
>>>>>> } else {
>>>>>> if (is_method("SUBSCRIBE")&& uri == myself) {
>>>>>> # in-dialog subscribe requests
>>>>>> route(PRESENCE);
>>>>>> exit;
>>>>>> }
>>>>>> if ( is_method("ACK") ) {
>>>>>> if ( t_check_trans() ) {
>>>>>> # no loose-route, but stateful ACK;
>>>>>> # must be an ACK after a 487
>>>>>> # or e.g. 404 from upstream server
>>>>>> t_relay();
>>>>>> exit;
>>>>>> } else {
>>>>>> # ACK without matching transaction ... ignore and
>>>>>> discard
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>> sl_send_reply("404","Not here");
>>>>>> }
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # Handle SIP registrations
>>>>>> route[REGISTRAR] {
>>>>>> if (is_method("REGISTER"))
>>>>>> {
>>>>>> if(isflagset(FLT_NATS))
>>>>>> {
>>>>>> setbflag(FLB_NATB);
>>>>>> # uncomment next line to do SIP NAT pinging
>>>>>> ## setbflag(FLB_NATSIPPING);
>>>>>> }
>>>>>> if (!save("location"))
>>>>>> sl_reply_error();
>>>>>>
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # USER location service
>>>>>> route[LOCATION] {
>>>>>>
>>>>>> #!ifdef WITH_ALIASDB
>>>>>> # search in DB-based aliases
>>>>>> alias_db_lookup("dbaliases");
>>>>>> #!endif
>>>>>>
>>>>>> if (!lookup("location")) {
>>>>>> switch ($rc) {
>>>>>> case -1:
>>>>>> case -3:
>>>>>> t_newtran();
>>>>>> t_reply("404", "Not Found");
>>>>>> exit;
>>>>>> case -2:
>>>>>> sl_send_reply("405", "Method Not Allowed");
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # when routing via usrloc, log the missed calls also
>>>>>> if (is_method("INVITE"))
>>>>>> {
>>>>>> setflag(FLT_ACCMISSED);
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # Presence server route
>>>>>> route[PRESENCE] {
>>>>>> if(!is_method("PUBLISH|SUBSCRIBE"))
>>>>>> return;
>>>>>>
>>>>>> #!ifdef WITH_PRESENCE
>>>>>> if (!t_newtran())
>>>>>> {
>>>>>> sl_reply_error();
>>>>>> exit;
>>>>>> };
>>>>>>
>>>>>> if(is_method("PUBLISH"))
>>>>>> {
>>>>>> if($hdr(Sender)!= NULL)
>>>>>> handle_publish("$hdr(Sender)");
>>>>>> else
>>>>>> handle_publish("");
>>>>>> t_release();
>>>>>> }
>>>>>> else
>>>>>> if( is_method("SUBSCRIBE"))
>>>>>> {
>>>>>> handle_subscribe();
>>>>>> t_release();
>>>>>> }
>>>>>> exit;
>>>>>> #!endif
>>>>>>
>>>>>> # if presence enabled, this part will not be executed
>>>>>> if (is_method("PUBLISH") || $rU==$null)
>>>>>> {
>>>>>> sl_send_reply("404", "Not here");
>>>>>> exit;
>>>>>> }
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> # Authentication route
>>>>>> route[AUTH] {
>>>>>> #!ifdef WITH_AUTH
>>>>>> if (is_method("REGISTER"))
>>>>>> {
>>>>>> # authenticate the REGISTER requests (uncomment to enable auth)
>>>>>> if (!www_authorize("$td", "subscriber"))
>>>>>> {
>>>>>> www_challenge("$td", "0");
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> if ($au!=$tU)
>>>>>> {
>>>>>> sl_send_reply("403","Forbidden auth ID");
>>>>>> exit;
>>>>>> }
>>>>>> } else {
>>>>>>
>>>>>> #!ifdef WITH_IPAUTH
>>>>>> if(allow_source_address())
>>>>>> {
>>>>>> # source IP allowed
>>>>>> return;
>>>>>> }
>>>>>> #!endif
>>>>>> # authenticate if from local subscriber
>>>>>> if (from_uri==myself)
>>>>>> {
>>>>>> if (!proxy_authorize("$fd", "subscriber")) {
>>>>>> proxy_challenge("$fd", "0");
>>>>>> exit;
>>>>>> }
>>>>>> if (is_method("PUBLISH"))
>>>>>> {
>>>>>> if ($au!=$tU) {
>>>>>> sl_send_reply("403","Forbidden auth ID");
>>>>>> exit;
>>>>>> }
>>>>>> } else {
>>>>>> if ($au!=$fU) {
>>>>>> sl_send_reply("403","Forbidden auth ID");
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> consume_credentials();
>>>>>> # caller authenticated
>>>>>> } else {
>>>>>> # caller is not local subscriber, then check if it calls
>>>>>> # a local destination, otherwise deny, not an open relay
>>>>>> here
>>>>>> if (!uri==myself)
>>>>>> {
>>>>>> sl_send_reply("403","Not relaying");
>>>>>> exit;
>>>>>> }
>>>>>> }
>>>>>> }
>>>>>> #!endif
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> # Caller NAT detection route
>>>>>> route[NAT] {
>>>>>> #!ifdef WITH_NAT
>>>>>> force_rport();
>>>>>> if (nat_uac_test("19")) {
>>>>>> if (method=="REGISTER") {
>>>>>> fix_nated_register();
>>>>>> } else {
>>>>>> fix_nated_contact();
>>>>>> }
>>>>>> setflag(FLT_NATS);
>>>>>> }
>>>>>> #!endif
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> # RTPProxy control
>>>>>> route[RTPPROXY] {
>>>>>> #!ifdef WITH_NAT
>>>>>> if (is_method("BYE")) {
>>>>>> unforce_rtp_proxy();
>>>>>> } else if (is_method("INVITE")){
>>>>>> force_rtp_proxy();
>>>>>> }
>>>>>> if (!has_totag()) add_rr_param(";nat=yes");
>>>>>> #!endif
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> # Routing to foreign domains
>>>>>> route[SIPOUT] {
>>>>>> if (!uri==myself)
>>>>>> {
>>>>>> append_hf("P-hint: outbound\r\n");
>>>>>> route(RELAY);
>>>>>> }
>>>>>> }
>>>>>>
>>>>>> # PSTN GW routing
>>>>>> route[PSTN] {
>>>>>> #!ifdef WITH_PSTN
>>>>>> # check if PSTN GW IP is defined
>>>>>> if (strempty($sel(cfg_get.pstn.gw_ip))) {
>>>>>> xlog("SCRIPT: PSTN rotuing enabled but pstn.gw_ip not
>>>>>> defined\n");
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> # route to PSTN dialed numbers starting with '+' or '00'
>>>>>> # (international format)
>>>>>> # - update the condition to match your dialing rules for PSTN
>>>>>> routing
>>>>>> if(!($rU=~"^(\+|00)[1-9][0-9]{3,20}$"))
>>>>>> return;
>>>>>>
>>>>>> # only local users allowed to call
>>>>>> if(from_uri!=myself) {
>>>>>> sl_send_reply("403", "Not Allowed");
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> $ru = "sip:" + $rU + "@" + $sel(cfg_get.pstn.gw_ip);
>>>>>>
>>>>>> route(RELAY);
>>>>>> exit;
>>>>>> #!endif
>>>>>>
>>>>>> return;
>>>>>> }
>>>>>>
>>>>>> # XMLRPC routing
>>>>>> #!ifdef WITH_XMLRPC
>>>>>> route[XMLRPC]
>>>>>> {
>>>>>> # allow XMLRPC from localhost
>>>>>> if ((method=="POST" || method=="GET")
>>>>>> && (src_ip==127.0.0.1)) {
>>>>>> # close connection only for xmlrpclib user agents (there is a
>>>>>> bug
>>>>>> in
>>>>>> # xmlrpclib: it waits for EOF before interpreting the
>>>>>> response).
>>>>>> if ($hdr(User-Agent) =~ "xmlrpclib")
>>>>>> set_reply_close();
>>>>>> set_reply_no_connect();
>>>>>> dispatch_rpc();
>>>>>> exit;
>>>>>> }
>>>>>> send_reply("403", "Forbidden");
>>>>>> exit;
>>>>>> }
>>>>>> #!endif
>>>>>>
>>>>>> # Sample branch router
>>>>>> branch_route[BRANCH_ONE] {
>>>>>> xdbg("new branch at $ru\n");
>>>>>> }
>>>>>>
>>>>>> # Sample onreply route
>>>>>> onreply_route[REPLY_ONE] {
>>>>>> xdbg("incoming reply\n");
>>>>>> #!ifdef WITH_NAT
>>>>>> if ((isflagset(FLT_NATS) || isbflagset(FLB_NATB))
>>>>>> && status=~"(183)|(2[0-9][0-9])") {
>>>>>> force_rtp_proxy();
>>>>>> }
>>>>>> if (isbflagset("6")) {
>>>>>> fix_nated_contact();
>>>>>> }
>>>>>> #!endif
>>>>>> }
>>>>>>
>>>>>> # Sample failure route
>>>>>> failure_route[FAIL_ONE] {
>>>>>> #!ifdef WITH_NAT
>>>>>> if (is_method("INVITE")
>>>>>> && (isbflagset(FLB_NATB) || isflagset(FLT_NATS))) {
>>>>>> unforce_rtp_proxy();
>>>>>> }
>>>>>> #!endif
>>>>>>
>>>>>> if (t_is_canceled()) {
>>>>>> exit;
>>>>>> }
>>>>>>
>>>>>> # uncomment the following lines if you want to block client
>>>>>> # redirect based on 3xx replies.
>>>>>> ##if (t_check_status("3[0-9][0-9]")) {
>>>>>> ##t_reply("404","Not found");
>>>>>> ## exit;
>>>>>> ##}
>>>>>>
>>>>>> # uncomment the following lines if you want to redirect the failed
>>>>>> # calls to a different new destination
>>>>>> ##if (t_check_status("486|408")) {
>>>>>> ## sethostport("192.168.2.100:5060");
>>>>>> ## append_branch();
>>>>>> ## # do not set the missed call flag again
>>>>>> ## t_relay();
>>>>>> ##}
>>>>>> }
>>>>>>
>>>>>>
>>>>>> Thanks a lot,
>>>>>> Andrés.
>>>>>>
>>>>>> El 29/11/2010 15:15, Klaus Darilion escribió:
>>>>>>>
>>>>>>> If you do not want to authenticate the requests then disable
>>>>>>> authentication kamailio.cfg
>>>>>>>
>>>>>>> regards
>>>>>>> Klaus
>>>>>>>
>>>>>>> Am 29.11.2010 12:53, schrieb "Andrés S. García Ruiz":
>>>>>>>>
>>>>>>>> Hi everybody,
>>>>>>>>
>>>>>>>> I'm trying to deploy an IMS network with OpenIMSCore and Kamailio.
>>>>>>>> Since
>>>>>>>> OpenIMSCore has been already tested along with Mobicents, now I want
>>>>>>>> substitute Mobicents for Kamailio. I've also successfully installed
>>>>>>>> Kamailio. I can run it without any problem, but when SIP Publish
>>>>>>>> messages arrive at Kamalio, it answers with "407 Proxy
>>>>>>>> Authentication
>>>>>>>> Required". The IMS presentity is already registered against the
>>>>>>>> OpenIMSCore. How can I solve that problem?
>>>>>>>>
>>>>>>>> The publish message sent:
>>>>>>>>
>>>>>>>> PUBLISH sip:testuser01 at open-ims.test SIP/2.0
>>>>>>>> Route:<sip:ciervo.inf.um.es:5060;lr>,
>>>>>>>>
>>>>>>>>
>>>>>>>> <sip:iscmark at scscf.open-ims.test:6060;lr;s=1;h=0;d=0;a=7369703a74657374757365723031406f70656e2d696d732e74657374>
>>>>>>>>
>>>>>>>> Call-ID: K28QO9PYAE5vn3RNdYOkIEddMEd6yDiqeAW7DwSt6XV.
>>>>>>>> CSeq: 1 PUBLISH
>>>>>>>> From: "testuser01"<sip:testuser01 at open-ims.test>;tag=ff123bda
>>>>>>>> To: "testuser01"<sip:testuser01 at open-ims.test>
>>>>>>>> Via: SIP/2.0/UDP 155.54.210.135:6060;branch=z9hG4bKa31a.6cba1cd2.0
>>>>>>>> Via: SIP/2.0/UDP
>>>>>>>> 155.54.210.134:4060;branch=z9hG4bKa31a.71481d13.0;i=1
>>>>>>>> Via: SIP/2.0/TCP
>>>>>>>>
>>>>>>>>
>>>>>>>> 155.54.190.166:8060;rport=41624;branch=z9hG4bK-d8754z-ce7487ff34be55f9-1---d8754z-
>>>>>>>>
>>>>>>>> Max-Forwards: 15
>>>>>>>> Content-Type: application/pidf+xml
>>>>>>>> Expires: 30000
>>>>>>>> Event: presence
>>>>>>>> Contact:<sip:testuser01 at 155.54.190.166:8060>
>>>>>>>> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE,
>>>>>>>> SUBSCRIBE, INFO
>>>>>>>> User-Agent: X-Lite IMS-OSGi-Client 0.1
>>>>>>>> CVS-Mon_Nov_29_10-14-33_CET_2010
>>>>>>>> Content-Length: 451
>>>>>>>> P-Asserted-Identity:<sip:testuser01 at open-ims.test>
>>>>>>>> P-Charging-Vector:
>>>>>>>>
>>>>>>>>
>>>>>>>> icid-value="P-CSCFabcd000000004cf3708400000002";icid-generated-at=155.54.210.134;orig-ioi="open-ims.test"
>>>>>>>>
>>>>>>>>
>>>>>>>> <?xml version='1.0' encoding='UTF-8'?><presence
>>>>>>>> xmlns='urn:ietf:params:xml:ns:pidf'
>>>>>>>> xmlns:c='urn:ietf:params:xml:ns:pidf:cipid'
>>>>>>>> xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model'
>>>>>>>> xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpid'
>>>>>>>> entity='sip:testuser01 at open-ims.test'><tuple
>>>>>>>>
>>>>>>>> id='t6b9a6ab3'><status><basic>open</basic></status></tuple><dm:person
>>>>>>>>
>>>>>>>>
>>>>>>>> id='p34b126e5'><rpid:activities><rpid:Online/></rpid:activities><dm:note>Online</dm:note></dm:person></presence>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Kamailio answer:
>>>>>>>> SIP/2.0 407 Proxy Authentication Required
>>>>>>>> Call-ID: K28QO9PYAE5vn3RNdYOkIEddMEd6yDiqeAW7DwSt6XV.
>>>>>>>> CSeq: 1 PUBLISH
>>>>>>>> From: "testuser01"<sip:testuser01 at open-ims.test>;tag=ff123bda
>>>>>>>> To: "testuser01"
>>>>>>>>
>>>>>>>>
>>>>>>>> <sip:testuser01 at open-ims.test>;tag=b27e1a1d33761e85846fc98f5f3a7e58.3d3a
>>>>>>>> Via: SIP/2.0/UDP 155.54.210.135:6060;branch=z9hG4bKa31a.6cba1cd2.0
>>>>>>>> Via: SIP/2.0/UDP
>>>>>>>> 155.54.210.134:4060;branch=z9hG4bKa31a.71481d13.0;i=1
>>>>>>>> Via: SIP/2.0/TCP
>>>>>>>>
>>>>>>>>
>>>>>>>> 155.54.190.166:8060;rport=41624;branch=z9hG4bK-d8754z-ce7487ff34be55f9-1---d8754z-
>>>>>>>>
>>>>>>>> Proxy-Authenticate: Digest realm="open-ims.test",
>>>>>>>> nonce="TPNwMkzzbwZRE1piAM8yHaXGsXvwS16v"
>>>>>>>> Server: kamailio (3.1.0 (i386/linux))
>>>>>>>> Content-Length: 0
>>>>>>>>
>>>>>>>>
>>>>>>>> Kamailio log:
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:628]: SIP Request:
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:630]: method:<PUBLISH>
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:632]: uri:
>>>>>>>> <sip:testuser01 at open-ims.test>
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:634]: version:<SIP/2.0>
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:165]: get_hdr_field:
>>>>>>>> cseq
>>>>>>>> <CSeq>:<1> <PUBLISH>
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_to.c:803]: end of header
>>>>>>>> reached,
>>>>>>>> state=10
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:185]: DEBUG:
>>>>>>>> get_hdr_field:
>>>>>>>> <To> [45]; uri=[sip:testuser01 at open-ims.test]
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:187]: DEBUG: to body
>>>>>>>> ["testuser01"<sip:testuser01 at open-ims.test>
>>>>>>>> ]
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:1287]: Found param type
>>>>>>>> 232,
>>>>>>>> <branch> =<z9hG4bKa31a.6cba1cd2.0>; state=16
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:2300]: end of header
>>>>>>>> reached,
>>>>>>>> state=5
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:513]: parse_headers: Via
>>>>>>>> found, flags=2
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:515]: parse_headers:
>>>>>>>> this
>>>>>>>> is
>>>>>>>> the first via
>>>>>>>> 5(15391) DEBUG:<core> [receive.c:145]: After parse_msg...
>>>>>>>> 5(15391) DEBUG:<core> [receive.c:186]: preparing to run routing
>>>>>>>> scripts...
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:1287]: Found param type
>>>>>>>> 232,
>>>>>>>> <branch> =<z9hG4bKa31a.71481d13.0>; state=6
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:1287]: Found param type
>>>>>>>> 236,
>>>>>>>> <i> =<1>; state=16
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:2300]: end of header
>>>>>>>> reached,
>>>>>>>> state=5
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:513]: parse_headers: Via
>>>>>>>> found, flags=100
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:526]: parse_headers:
>>>>>>>> this
>>>>>>>> is
>>>>>>>> the second via
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:1287]: Found param type
>>>>>>>> 235,
>>>>>>>> <rport> =<41624>; state=6
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:1287]: Found param type
>>>>>>>> 232,
>>>>>>>> <branch> =<z9hG4bK-d8754z-ce7487ff34be55f9-1---d8754z->; state=16
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_via.c:2300]: end of header
>>>>>>>> reached,
>>>>>>>> state=5
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:513]: parse_headers: Via
>>>>>>>> found, flags=100
>>>>>>>> 5(15391) DEBUG: maxfwd [mf_funcs.c:85]: value = 15
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:199]: DEBUG:
>>>>>>>> get_hdr_body
>>>>>>>> :
>>>>>>>> content_length=451
>>>>>>>> 5(15391) DEBUG:<core> [parser/msg_parser.c:101]: found end of
>>>>>>>> header
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_to.c:174]: DEBUG: add_param:
>>>>>>>> tag=ff123bda
>>>>>>>> 5(15391) DEBUG:<core> [parser/parse_to.c:803]: end of header
>>>>>>>> reached,
>>>>>>>> state=29
>>>>>>>> 5(15391) DEBUG: sanity [mod_sanity.c:217]: all sanity checks passed
>>>>>>>> 5(15391) DEBUG: siputils [checks.c:73]: no totag
>>>>>>>> 5(15391) DEBUG: tm [t_lookup.c:1081]: DEBUG: t_check_msg: msg id=1
>>>>>>>> global id=0 T start=0xffffffff
>>>>>>>> 5(15391) DEBUG: tm [t_lookup.c:528]: t_lookup_request: start
>>>>>>>> searching:
>>>>>>>> hash=41274, isACK=0
>>>>>>>> 5(15391) DEBUG: tm [t_lookup.c:485]: DEBUG: RFC3261 transaction
>>>>>>>> matching
>>>>>>>> failed
>>>>>>>> 5(15391) DEBUG: tm [t_lookup.c:711]: DEBUG: t_lookup_request: no
>>>>>>>> transaction found
>>>>>>>> 5(15391) DEBUG: tm [t_lookup.c:1150]: DEBUG: t_check_msg: msg id=1
>>>>>>>> global id=1 T end=(nil)
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:501]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> host==us: 13==9&& [open-ims.test] == [127.0.0.1]
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:504]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> port 5060 matches port 5060
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:501]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> host==us: 13==14&& [open-ims.test] == [155.54.190.245]
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:504]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> port 5060 matches port 5060
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:501]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> host==us: 13==9&& [open-ims.test] == [127.0.0.1]
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:504]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> port 5060 matches port 5060
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:501]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> host==us: 13==14&& [open-ims.test] == [155.54.190.245]
>>>>>>>> 5(15391) DEBUG:<core> [socket_info.c:504]: grep_sock_info -
>>>>>>>> checking
>>>>>>>> if
>>>>>>>> port 5060 matches port 5060
>>>>>>>> 5(15391) DEBUG: auth_db [authorize.c:239]: realm value
>>>>>>>> [open-ims.test]
>>>>>>>> 5(15391) DEBUG: auth [api.c:85]: auth:pre_auth: Credentials with
>>>>>>>> realm
>>>>>>>> 'open-ims.test' not found
>>>>>>>> 5(15391) DEBUG: auth_db [authorize.c:257]: not authenticated
>>>>>>>> 5(15391) DEBUG: auth [challenge.c:102]: build_challenge_hf:
>>>>>>>> realm='open-ims.test'
>>>>>>>> 5(15391) DEBUG: auth [challenge.c:236]: auth: 'Proxy-Authenticate:
>>>>>>>> Digest realm="open-ims.test",
>>>>>>>> nonce="TPNwMkzzbwZRE1piAM8yHaXGsXvwS16v"
>>>>>>>> '
>>>>>>>> 5(15391) DEBUG: sl [sl.c:278]: reply in stateless mode (sl)
>>>>>>>> 5(15391) DEBUG:<core> [msg_translator.c:207]:
>>>>>>>> check_via_address(155.54.210.135, 155.54.210.135, 0)
>>>>>>>> 5(15391) DEBUG:<core> [usr_avp.c:646]: DEBUG:destroy_avp_list:
>>>>>>>> destroying list (nil)
>>>>>>>> 5(15391) DEBUG:<core> [usr_avp.c:646]: DEBUG:destroy_avp_list:
>>>>>>>> destroying list (nil)
>>>>>>>> 5(15391) DEBUG:<core> [usr_avp.c:646]: DEBUG:destroy_avp_list:
>>>>>>>> destroying list (nil)
>>>>>>>> 5(15391) DEBUG:<core> [usr_avp.c:646]: DEBUG:destroy_avp_list:
>>>>>>>> destroying list (nil)
>>>>>>>> 5(15391) DEBUG:<core> [usr_avp.c:646]: DEBUG:destroy_avp_list:
>>>>>>>> destroying list (nil)
>>>>>>>> 5(15391) DEBUG:<core> [usr_avp.c:646]: DEBUG:destroy_avp_list:
>>>>>>>> destroying list (nil)
>>>>>>>> 5(15391) DEBUG:<core> [receive.c:289]: receive_msg: cleaning up
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks in advance,
>>>>>>>> Andrés.
>>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>>>>> list
>>>>>> sr-users at 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 at lists.sip-router.org
>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>> --
>>> Daniel-Constantin Mierla
>>> Kamailio (OpenSER) Advanced Training
>>> Jan 24-26, 2011, Irvine, CA, USA
>>> http://www.asipto.com
>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>
>>
>
>
--
Carsten Bock
Schomburgstr. 80
22767 Hamburg
Germany
Mobile +49 179 2021244
Home +49 40 34927217
Büro (Verl) +49 5246 801427
Fax +49 40 34927218
mailto:carsten at bock.info
More information about the sr-users
mailing list