[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