[Serusers] CPLEd and cpl-c module
Brinker, Oliver
Oliver.Brinker at t-systems.com
Thu Dec 11 10:58:58 CET 2003
Hi Bogdan,
better late then never ;) The upload of CPL scripts via SIP works fine
with CPLEd but after changing the SER config file with the if statement
you mentioned below I cannot REGISTER my client any more. It is a normal
REGISTER without any payload in the SDP part. I try it with three different
SIP clients and they all get a 500 error every time. Why do normal REGISTER
messages run into the if statement, too? Many thanks for your help.
Regards,
Oliver
Bogdan-Andrei IANCU wrote
>Hi Oliver,
>
>Instead of using HTTP for upload/download (which requires more pieces
>and more complex senttings) I would recommend you to use directly SIP
>for transporting CPL scripts (via REGISTER). CPLEd supprts also this method.
>In order to separated normal REGISTERs from CPL transport REGISTERS,
> From the SER part you must do something like:
>
>if (method=="REGISTER") {
> if ( cpl_process_register() ) {
> sl_send_reply("500","Error");
> };
> # here you can do normal processing of a
> # REGISTER request or whatever you want
>};
>
>In CPLEd, in the upload/download window you have to fill in the address
>and port of SER and the user name for which you want to install/fetch
>the script.
>
>Regards,
>Bogdan
Brinker, Oliver wrote:
>Hi Daniel,
>when I try to upload a cpl script via http the status string of CPLEd
>displays the following error message:
>
>Error: Upload via HTTP: HTTP request failed: Invalid CPL script
>
>I've set the direct path to the cpl.dtd in the cpl.php and in the CPLEd
>settings. Although Java SDK 1.4.1 is installed on the machine I load
>crimson.jar and xalan.jar into the classpath. But what is checker.jar
>and where can I get it? Is jaxp.jar included in the Java SDK or should
>I download a separate version?
>
>Many thanks,
>Oliver
>
>
>Daniel-Constantin Mierla wrote
>
>
>
>>Hello,
>>if you use the CVS head version then you should change the format of
>>database url: Now it reflects the type of database used and for mysql
>>should be like:
>>
>>mysql://foo:bar@localhost/ser
>>
>>Try with this one when setting the "cpl_db" parameter.
>>
>>Daniel
>>
>>
>
>
>
>>On 11/26/2003 11:30 AM, Brinker, Oliver wrote:
>>
>>
>
>
>
>>Hi Bogdan,
>>
>>The mysql module is loaded before the cpl-c one. Please have a look into
>>my ser.cfg because I cannot find any misconfig. Could it be a problem
>>with the SQL connection string? MySQL should be running correct.
>>
>>I change the module name in the modparam declaration from cpl_c to cpl-c
>>because cpl_c like in your documentation doesn't work ;) Thanks
>>
>>Oliver
>>
>>#
>># $Id: ser.cfg,v 1.24 2003/11/11 15:32:36 andrei Exp $
>>#
>># simple quick-start config script
>>#
>>
>># ----------- global configuration parameters ------------------------
>>
>>#debug=3 # debug level (cmd line: -dddddddddd)
>>#fork=yes
>>#log_stderror=no # (cmd line: -E)
>>
>>/* Uncomment these lines to enter debugging mode
>>fork=no
>>log_stderror=yes
>>*/
>>
>>check_via=no # (cmd. line: -v)
>>dns=no # (cmd. line: -r)
>>rev_dns=no # (cmd. line: -R)
>>#port=5060
>>#children=4
>>fifo="/tmp/ser_fifo"
>>
>># ------------------ module loading ----------------------------------
>>
>># Uncomment this if you want to use SQL database
>>loadmodule "/usr/local/lib/ser/modules/mysql.so"
>>
>>loadmodule "/usr/local/lib/ser/modules/cpl-c.so"
>>loadmodule "/usr/local/lib/ser/modules/sl.so"
>>loadmodule "/usr/local/lib/ser/modules/tm.so"
>>loadmodule "/usr/local/lib/ser/modules/rr.so"
>>loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
>>loadmodule "/usr/local/lib/ser/modules/usrloc.so"
>>loadmodule "/usr/local/lib/ser/modules/registrar.so"
>>loadmodule "/usr/local/lib/ser/modules/textops.so"
>>
>># Uncomment this if you want digest authentication
>># mysql.so must be loaded !
>>loadmodule "/usr/local/lib/ser/modules/auth.so"
>>loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>>
>># ----------------- setting module-specific parameters ---------------
>>
>># -- usrloc params --
>>
>>#modparam("usrloc", "db_mode", 0)
>>
>># Uncomment this if you want to use SQL database
>># for persistent storage and comment the previous line
>>modparam("usrloc", "db_mode", 2)
>>
>># -- auth params --
>># Uncomment if you are using auth module
>>#
>>modparam("auth_db", "calculate_ha1", yes)
>>#
>># If you set "calculate_ha1" parameter to yes (which true in this config),
>># uncomment also the following parameter)
>>#
>>modparam("auth_db", "password_column", "password")
>>
>># -- rr params --
>># add value to ;lr param to make some broken UAs happy
>>modparam("rr", "enable_full_lr", 1)
>>
>># -- cpl-c module --
>>modparam("cpl-c","cpl_db","sql://foo:bar@localhost/ser")
>>modparam("cpl-c","cpl_table","cpl")
>>modparam("cpl-c","cpl_dtd_file","/usr/local/etc/ser/cpl-06.dtd")
>>modparam("cpl-c","log_dir","/var/log/ser/cpl")
>>modparam("cpl-c","proxy_recurse",0)
>>
>># ------------------------- request routing logic -------------------
>>
>># main routing logic
>>
>>route{
>>
>> # initial sanity checks -- messages with
>> # max_forwards==0, or excessively long requests
>> if (!mf_process_maxfwd_header("10")) {
>> sl_send_reply("483","Too Many Hops");
>> break;
>> };
>> if (msg:len >= max_len ) {
>> sl_send_reply("513", "Message too big");
>> break;
>> };
>>
>> # we record-route all messages -- to make sure that
>> # subsequent messages will go through our proxy; that's
>> # particularly good if upstream and downstream entities
>> # use different transport protocol
>> if (!method=="REGISTER") record_route();
>>
>> # subsequent messages withing a dialog should take the
>> # path determined by record-routing
>> if (loose_route()) {
>> # mark routing logic in request
>> append_hf("P-hint: rr-enforced\r\n");
>> route(1);
>> break;
>> };
>>
>> if (!uri==myself) {
>> # mark routing logic in request
>> append_hf("P-hint: outbound\r\n");
>> route(1);
>> break;
>> };
>>
>> # if the request is for other domain use UsrLoc
>> # (in case, it does not work, use the following command
>> # with proper names and addresses in it)
>> if (uri==myself) {
>>
>> if (method=="REGISTER") {
>>
>> # Uncomment this if you want to use digest authentication
>> if (!www_authorize("t-systems.com", "subscriber")) {
>> www_challenge("t-systems.com", "0");
>> break;
>> };
>>
>> save("location");
>> break;
>> };
>>
>> lookup("aliases");
>> if (!uri==myself) {
>> append_hf("P-hint: outbound alias\r\n");
>> route(1);
>> break;
>> };
>>
>> # native SIP destinations are handled using our USRLOC DB
>> if (!lookup("location")) {
>> sl_send_reply("404", "Not Found");
>> break;
>> };
>> };
>> append_hf("P-hint: usrloc applied\r\n");
>> route(1);
>>}
>>
>>route[1]
>>{
>> # send it out now; use stateful forwarding as it works reliably
>> # even for UDP2TCP
>> if (!t_relay()) {
>> sl_reply_error();
>> };
>>}
>>
>>
>>Bogdan-Andrei IANCU [mailto:iancu at fokus.fraunhofer.de] wrote
>>
>>
>>
>>
>>
>>>Hi Oliver,
>>>
>>>The mysql module must be loade before the cpl-c one. Make sure about
>>>this in your configuration file.
>>>
>>>Bogdan
>>>
>>>
>>>
>>>
>>Brinker, Oliver wrote:
>>
>>
>>
>>
>>
>>>Hi Bogdan,
>>>now I fetch the whole cvs tree and compile SER and the needed modules.
>>>Everything works fine until I put the cpl-c modparam values into ser.cfg.
>>>I get an error message on my xconsole that the cpl-c module cannot bind
>>>to the database. The mysql module is loaded because digest authentications
>>>works since a few days. Is there anything to mind regarding the order of
>>>loading modules or setting params in the ser.cfg? Many thanks.
>>>
>>>Regards,
>>>Oliver
>>>
>>>
>>>Bogdan-Andrei IANCU [mailto:iancu at fokus.fraunhofer.de] wrote
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>>Hi Oliver,
>>>>
>>>>what branch of cvs do you use? or you use the head of cvs?
>>>>on CVS head everything is fixed - but you have to get the whole tree,
>>>>not only the TM.
>>>>
>>>>Regards,
>>>>Bogdan
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>Brinker, Oliver wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>>Hi Bogdan,
>>>>
>>>>I try to patch the TM module and get an error during patching t_reply.c:
>>>>
>>>>Hunk #2 FAILED at 375
>>>>Hunk #3 FAILED at 400
>>>>
>>>>I'm not sure but could the faked_env function be the problem (expect four params,
>>>>but receiving only two)? Should I use a new version of the TM module from the CVS?
>>>>Many thanks.
>>>>
>>>>Regards,
>>>>Olli
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>Hello,
>>>>>
>>>>>In order to compile the cpl-c module, you need to apply a patch to the
>>>>>tm_modulel you can finf this patch in modules/cpl-c/tm.patch.
>>>>>Please, use the patch from the same version of ser as the tm modules. Try to do
>>>>>so and let my know if it worked.
>>>>>
>>>>>Regards,
>>>>>Bogdan
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>_______________________________________________
>>Serusers mailing list
>>serusers at lists.iptel.org
>>http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>>
>>
>>
>
>
>
>
More information about the sr-users
mailing list