[OpenSIPS-Users] check_address() causes crash
Jeff Pyle
jpyle at fidelityvoice.com
Mon Oct 19 20:15:38 CEST 2009
Hi Bogdan,
On 10/19/09 2:00 PM, "Bogdan-Andrei Iancu" <bogdan at voice-system.ro> wrote:
> you cannot know it prior to t_relay() - IP the RURI is an IP, then is
> fine, but if the RURI is a domain, the translation from domain to IP
> (via DNS) is done internally by t_relay(), so you do not have access to it.
That makes sense.
> not sure what you try to do, but maybe you should consider the blacklist
> capability of opensips:
> http://www.opensips.org/Resources/DocsCoreFcn16#toc45
>
> Regards,
> Bogdan
I'm deciding which calls get an engage_media_proxy(). If they're on my
network (as defined by a group in the address table), I'll proxy them
because I can get the added accounting benefits without causing them any
added latency. If they're not (if the check fails), I won't use MP.
In this case all the $rd values would have been set by a lookup("location"),
and all those *should* have been populated by registrations. I'll likely
add an ugly regex check to see if $rd looks like an IP address, then do the
check_address() if it does. I'll likely catch 95% or more of them that way.
That's fine.
- Jeff
>> I'll update and see if it still crashes.
>>
>>
>> Thanks,
>> Jeff
>>
>>
>>
>> On 10/15/09 9:21 AM, "Irina Stanescu" <ironmissy at gmail.com> wrote:
>>
>>
>>> Hello Jeff,
>>>
>>> I managed to get a core dump only when the second parameter of the
>>> check_address is empty.
>>> I added a check for that (rev. 6272), so it shouldn't crash anymore.
>>>
>>> Also, you can use "$rd" as the second parameter only if the domain name is
>>> an
>>> ip address, otherwise it won't work.
>>>
>>> Thanks!
>>>
>>> Irina Stanescu
>>>
>>> On Wed, Oct 14, 2009 at 10:43 PM, Jeff Pyle <jpyle at fidelityvoice.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> I have the following:
>>>>
>>>> if (check_address("10", "$rd", "0", "$proto")) {
>>>> setflag(7);
>>>> }
>>>>
>>>> In many cases, and I can't seem to determine what those cases are, this
>>>> causes the system to run very slowly for about 30 seconds, and then
>>>> Opensips
>>>> exits.
>>>>
>>>> I need to know if the source or destination IP addresses fall into one of
>>>> the blocks included in group 10 of the address table.
>>>> check_source_address() works great with Irina's fix; this is the
>>>> destination
>>>> half. It tanks the system.
>>>>
>>>> On the doc page it says:
>>>> Transport protocol is either "ANY" or any valid transport protocol value:
>>>> "UDP, "TCP", "TLS", and "SCTP".
>>>>
>>>> Is case relevant? Is lowercase just as valid as the uppercase examples?
>>>>
>>>>
>>>>
>>>> - Jeff
>>>>
>>>>
>>>> _______________________________________________
>>>> 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
>>
>>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list