[Serusers] CPLEd and cpl-c module
Brinker, Oliver
Oliver.Brinker at t-systems.com
Fri Feb 6 13:38:02 CET 2004
Hi Bogdan,
it works ;) I can upload/remove/download CPL scripts via CPLEd's REGISTER function.
Now I can test my CPL scripts and play around a little bit with CPLEd. Many thanks
for your help. I will follow the further development of CPLEd and cpl-c.
Best Regards
Oliver
Bogdan-Andrei IANCU [mailto:iancu at fokus.fraunhofer.de] wrote
>Hi Oliver,
>
>My mistake - try like :
>
>if (method=="REGISTER") {
> cpl_process_register();
> # here you can do normal processing of a
> # REGISTER request or whatever you want
>};
>
>cpl_process_register function doesn't returns back to script if it's a REGISTER related to CPL.
>Please, let me know if works.
>
>Best regards,
>Bogdan
>
>Brinker, Oliver wrote:
>
>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