-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
I played around with CPL-C Module. I loaded this CPL successfully via MI-FIFO-Module into database:
<?xml version="1.0" encoding="UTF-8"?> <cpl> <outgoing> <address-switch field="destination" subfield="user"> <address is="v111"> <reject status="603" reason="fhhhghh"/> </address> </address-switch> </outgoing> </cpl>
When a call is placed, the script above is executed and throws an error:
0(8741) DEBUG:cpl-c:get_orig_user: trying to get user from From 0(8741) DEBUG:get_user_script: fetching script for user <v101> 0(8741) DEBUG:get_user_script: we got the script len=62 0(8741) DEBUG:cpl_run_script: processing CPL node 0(8741) DEBUG:cpl_run_script: processing address-switch node 0(8741) DEBUG:run_address_switch: testing ADDRESS branch attr_name=0 attr_val=[v111](4).. 0(8741) DEBUG:run_address_switch: extracted uri is sip:v111@domain 0(8741) DEBUG:run_address_switch: extracted val. is <v111> 0(8741) DEBUG:run_address_switch: matching on ADDRESS node (IS) 0(8741) DEBUG:cpl_run_script: processing reject node 0(8741) ERROR:cpl_c:cpl_run.c:553: attribute is an empty string 0(8741) ERROR:cpl_c:cpl_run_script: script error
When I change that reject line to this:
<reject status="reject"/>
then it works fine. Obviously openser (1.2.0) has some problems with parsing reject's reason attribute ...
Is there a fix around or did I do a mistake somewhere?
regards helmut
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
ok, well I fixed it. There seems to be an error in cpl_run.c. At line 552 there is this code block in function "run_reject":
- ---------------------- case REASON_ATTR: get_str_attr( p, reason.s, reason.len, intr, script_error,1); break;
- ----------------------
I changed it to this:
- ---------------------- case REASON_ATTR: reason.len=n; get_str_attr( p, reason.s, reason.len, intr, script_error,1); break; - ----------------------
This enables the reason attribute in reject statement.
regards helmut
Hi,
I played around with CPL-C Module. I loaded this CPL successfully via MI-FIFO-Module into database:
<?xml version="1.0" encoding="UTF-8"?>
<cpl> <outgoing> <address-switch field="destination" subfield="user"> <address is="v111"> <reject status="603" reason="fhhhghh"/> </address> </address-switch> </outgoing> </cpl>
When a call is placed, the script above is executed and throws an error:
0(8741) DEBUG:cpl-c:get_orig_user: trying to get user from From 0(8741) DEBUG:get_user_script: fetching script for user <v101> 0(8741) DEBUG:get_user_script: we got the script len=62 0(8741) DEBUG:cpl_run_script: processing CPL node 0(8741) DEBUG:cpl_run_script: processing address-switch node 0(8741) DEBUG:run_address_switch: testing ADDRESS branch attr_name=0 attr_val=[v111](4).. 0(8741) DEBUG:run_address_switch: extracted uri is sip:v111@domain 0(8741) DEBUG:run_address_switch: extracted val. is <v111> 0(8741) DEBUG:run_address_switch: matching on ADDRESS node (IS) 0(8741) DEBUG:cpl_run_script: processing reject node 0(8741) ERROR:cpl_c:cpl_run.c:553: attribute is an empty string 0(8741) ERROR:cpl_c:cpl_run_script: script error
When I change that reject line to this:
<reject status="reject"/>
then it works fine. Obviously openser (1.2.0) has some problems with parsing reject's reason attribute ...
Is there a fix around or did I do a mistake somewhere?
regards helmut
_______________________________________________ Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Hi Helmut,
that is totally correct! I applied the fix on trunk, 1.2 and 1.1 versions.
Thanks a lot for the report.
Regards, Bogdan
Helmut Kuper wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
ok, well I fixed it. There seems to be an error in cpl_run.c. At line 552 there is this code block in function "run_reject":
case REASON_ATTR: get_str_attr( p, reason.s, reason.len, intr, script_error,1); break;
I changed it to this:
case REASON_ATTR: reason.len=n; get_str_attr( p, reason.s, reason.len, intr, script_error,1); break;
This enables the reason attribute in reject statement.
regards helmut
Hi,
I played around with CPL-C Module. I loaded this CPL successfully via MI-FIFO-Module into database:
<?xml version="1.0" encoding="UTF-8"?>
<cpl> <outgoing> <address-switch field="destination" subfield="user"> <address is="v111"> <reject status="603" reason="fhhhghh"/> </address> </address-switch> </outgoing> </cpl>
When a call is placed, the script above is executed and throws an error:
0(8741) DEBUG:cpl-c:get_orig_user: trying to get user from From 0(8741) DEBUG:get_user_script: fetching script for user <v101> 0(8741) DEBUG:get_user_script: we got the script len=62 0(8741) DEBUG:cpl_run_script: processing CPL node 0(8741) DEBUG:cpl_run_script: processing address-switch node 0(8741) DEBUG:run_address_switch: testing ADDRESS branch attr_name=0 attr_val=[v111](4).. 0(8741) DEBUG:run_address_switch: extracted uri is sip:v111@domain 0(8741) DEBUG:run_address_switch: extracted val. is <v111> 0(8741) DEBUG:run_address_switch: matching on ADDRESS node (IS) 0(8741) DEBUG:cpl_run_script: processing reject node 0(8741) ERROR:cpl_c:cpl_run.c:553: attribute is an empty string 0(8741) ERROR:cpl_c:cpl_run_script: script error
When I change that reject line to this:
<reject status="reject"/>
then it works fine. Obviously openser (1.2.0) has some problems with parsing reject's reason attribute ...
Is there a fix around or did I do a mistake somewhere?
regards helmut
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFGZn4I4tZeNddg3dwRAphhAJwPE19eYEU81tdLNqWJJbhXQk8XTACff1Ju lJpUGTabD/xmJhIjqBqgoEM= =CiIr -----END PGP SIGNATURE-----
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users