What OpenSIPS version are you using? Are you sure that your specific
'^9675...' rule is being applied?
Hint: you can enter the debug mode with /opensipsctl fifo debug 4/ and
look for:
Apr 4 15:58:44 [9963] DBG:dialplan:translate: Found a matching rule
0x7fa7b59ae6d0: pr 1, match_exp ^9675#0[1-9]{2}[1-6][0-9]{7}
Best regards,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 04/04/2014 03:35 PM, Alcindo Schleder wrote:
Hi Liviu Chircu.
See my dialplan database table:
+----+------+----+----------+------------------------------------+-------------+----------------------------------+----------+----------+----------+
| id | dpid | pr | match_op | match_exp |
match_flags | subst_exp | repl_exp | disabled |
attrs |
+----+------+----+----------+------------------------------------+-------------+----------------------------------+----------+----------+----------+
| 6 | 0 | 1 | 1 | ^9675#0[1-9]{2}[1-6][0-9]{7} |
0 | ^(9675#)(0[1-9]{2})([1-6][0-9]{7}) | \2\3 | 0 | fix_pstn |
+----+------+----+----------+------------------------------------+-------------+----------------------------------+----------+----------+----------+
And call db_translate:
dp_translate("0","$rU/$rU")
store "fix_pstn" into $avp(s:dest)
Is all right, except that the value of $ rU = "23"
[]s
*De:*[email protected]
[mailto:[email protected]] *Em nome de *Liviu Chircu
*Enviada em:* sexta-feira, 4 de abril de 2014 07:27
*Para:* [email protected]
*Assunto:* Re: [OpenSIPS-Users] Opensips dialplan repl_exp
Hello Alcindo,
This should work:
mysql> select * from dialplan where id=3;
+----+------+----+----------+-----------+-------------+-----------+----------+----------+-------+
| id | dpid | pr | match_op | match_exp | match_flags | subst_exp |
repl_exp | disabled | attrs |
+----+------+----+----------+-----------+-------------+-----------+----------+----------+-------+
| 3 | 1 | 1 | 1 | ^\d*#.* | 0 | ^(\d*)#.* |
\1 | 0 | |
+----+------+----+----------+-----------+-------------+-----------+----------+----------+-------+
It basically matches your input string, and catches the user id with
"(\d*)". It then replaces the $rU with that data, which is now stored
in variable #1: "\1"
Script usage:
"
$var(in) = "9675#[email protected]"
<mailto:9675#[email protected]>;
if (!dp_translate("1", "$var(in)/$rU"))
xlog("XXX failed to translate\n");
else
xlog("XXX translated to: $ru\n");
"
...
XXX translated to: sip:[email protected]:5060
<mailto:sip:[email protected]:5060>
...
Best regards,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 04/04/2014 11:24 AM, Alcindo Schleder wrote:
I'm using opensips 1.10xeo dialplan module. The user send me the
following string: '9675#destinationNumber@serverip'.
I want to remove only the # 9675 number and store in $rU.
I've tried everything and can not succeed. I tried with subst_exp,
repl_exp and nothing.
What could be wrong?
Alcindo Schleder
Gerente de Negócios -- [email protected]
<mailto:[email protected]>
(51) 3564-4156
(51) 9790-9437
Renovare Telecom <http://www.renovaretelecom.com.br/>
_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users