[OpenSIPS-Users] $fU read-only, calling number modification problem

Maciej Bylica mbsip at gazeta.pl
Thu Oct 21 01:28:49 CEST 2010


Guys one more question.

I have some problems to force opensips to restore oryginal uri that
was previously replaced.

I do have:
- no modparams in config
- route[0] is responsible for basic routing
- route[5] is for proper call distribution by using lookup(location)
information. In the same route i have implemented calling number
modification.
Just before the end of route i am arming t_relay with failure route
(in case of busy for instance).
- failure_route[105] is to do_routing the call to VM service outside
the opensips. But just before t_relaying here i need to restore the
original $fU.
According to http://www.opensips.org/html/docs/modules/1.6.x/uac.html#id292928
i should use uac_restore_from() command (with default restore_mode
modparam).
Unfortunately the calling number once replaced cannot be restored in my case.
Below you may find a snippet from debug

Number replacing is generating vsf param
/sbin/opensips[28268]: DBG:uac:w_replace_from: dsp=0xffd3f38c (len=0)
, uri=0xffd3f394 (len=29)
/sbin/opensips[28268]: DBG:uac:replace_uri: removing display ["unknown"]
/sbin/opensips[28268]: DBG:uac:replace_uri: uri to replace
[sip:48222114499 at 11.22.33.44]
/sbin/opensips[28268]: DBG:uac:replace_uri: replacement uri is
[sip:222114499 at 11.22.33.44]
/sbin/opensips[28268]: DBG:uac:replace_uri: encode
is=<AAAAAAIJAgUMBAEAD3AHeQUXBR8FHwUaCRoKHAsyOQ--> len=44
/sbin/opensips[28268]: DBG:rr:add_rr_param: adding
(;vsf=AAAAAAIJAgUMBAEAD3AHeQUXBR8FHwUaCRoKHAsyOQ--) 0x81c2828

then opensips constucts Busy message and in the same time without any
uac_restore_from() command:
/sbin/opensips[28795]: DBG:uac:restore_uri_reply: removing
<<sip:222114496 at 11.22.33.44>>
/sbin/opensips[28795]: DBG:uac:restore_uri_reply: inserting <"unknown"
<sip:48222114499 at 11.22.33.44>>

then the call failes to failure_route[105] and uac_restore_from() is
generating following debug
/sbin/opensips[28797]: DBG:uac:restore_uri: getting 'vsf' Route param
/sbin/opensips[28797]: DBG:uac:restore_uri: route param 'vsf' not found
just after that the call is hitting do_routing and t_relay to VM
server. Of course calling number was not restored to original one.

Could You please point me where the problem is located?
Just  one more info - calling number modification part of config is
located in separated route[10] to be used whenever i wish in my
script.

Thx,
Maciej.


> Bogdan, Stefano,
>
> Its working as is should :)
> Thanks for pointing me to the right function.
>
> Maciej.
>
> 2010/10/11 Bogdan-Andrei Iancu <bogdan at voice-system.ro>:
>> To be more precise:
>>    http://www.opensips.org/html/docs/modules/1.6.x/uac.html#id228582
>>
>> Regards,
>> Bogdan
>>
>> Stefano Pisani wrote:
>>>   Use replace_from :-)
>>>
>>> ciao
>>> s
>>>
>>> Il 10/10/2010 19:19, Maciej Bylica ha scritto:
>>>
>>>> Hello
>>>>
>>>> I have a question regarding $fU pseudo variable.
>>>> As mentioned at http://www.opensips.org/Resources/DocsCoreVar16 and on
>>>> the basis of opensips outputs:
>>>> ERROR:dialplan:dp_trans_fixup: the output PV is read-only!!
>>>> it clearly means that $fU is read-only.
>>>>
>>>> Unfortunately it is quite big problem for me, because what im
>>>> struggling with is to achieve proper calling number presentation.
>>>> In my scenario all endpoints located in subscriber table do have full
>>>> username with country code, so there are for instance:
>>>> - 48111223344 (48 country code)
>>>> - 49222334455 (49 country code)
>>>> - 44333445566 (44 country code)
>>>> ...
>>>>
>>>> If there is a national call inside the 48 country code the calling
>>>> number should be changed by striping first two digits (48) -
>>>> 48999887766--->999887766
>>>> In case of international call, i should add two digits (00) -
>>>> 49222334455--->0049222334455.
>>>>
>>>> I am using diaplan module in this case and following entry gives me
>>>> the error I mentioned.
>>>> dp_translate("2", "$fU/$fU");
>>>>
>>>> If there are any workaround.
>>>> Any help would be highly appreaciated.
>>>>
>>>> Thanks,
>>>> Maciej
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>
>>
>> --
>> Bogdan-Andrei Iancu
>> OpenSIPS Bootcamp
>> 15 - 19 November 2010, Edison, New Jersey, USA
>> www.voice-system.ro
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>



More information about the Users mailing list