[OpenSER-Users] kagoor voiceflow replacement
Klaus Darilion
klaus.mailinglists at pernau.at
Thu Apr 17 18:31:26 CEST 2008
Jens Thiele schrieb:
> Klaus Darilion <klaus.mailinglists at pernau.at> writes:
>
>> Gentrice's kaiser schrieb:
>>> Hi,
>>>
>>> The hard part is upper register . It means user auth information is
>>> stored in Broadsoft instead of your mysql DB.
>> If broadsoft supports "Path" then it should be easy by forwarding the
>> REGISTER to broadsoft and adding a Path header. Further, save() (before
>> or after forwarding) for NAT pinging.
>
> 1. Path may disclose information you do not want to forward (internal
> network address)
>
> 2. You probably don't want to forward arbitrary SIP packets into your
> internal network
of course you should some message screening on the openser before
forwarding it to the registrar.
>
>> If Path is not supported then it is more complicated (but doable).
>
> I would say (but please correct me ;-):
>
> If Path is not supported by your upstream registrar, which is quite
> likely, then it is much more complicated and at the moment, depending on
> your security requirements, not doable without modifying openser code.
Well - I guess the "depending on your security requirements" is the key
point.
>> You have to save() the original contact and the public socket of the
>> client. Further you have to rewrite the contact header before
>> forwarding, so that the URI points to openser. Further, you have to put
>> some identifier into the user part which will then be used to lookup the
>> usrloc table. I think this can be done with raw DB queries.
>
> The problem is that you want to populate your usrloc at least only on
> successful replies to a register and that IMHO is not possible.
Wouldn't it be possible to save needed parameters during request
processing in AVPs and during 200 response processing save the AVPs
using raw DB queries. I think in single-domain setups it is doable.
Of course it would be nicer to modify save() to work on responses too.
> Otherwise any client in your network may populate your usrlow without
> credentials and depending on your setup just grab other users accounts.
Even if you save() during request processing and have "bad" data in the
usrloc table account hijacking shouldn't be possible because if the
registration fails on the registrar, the registrar wont forward incoming
calls to openser.
> But once more: please correct me - post some example config.
> My point is: I wasted a lot of time with that and I think it is really
> bad to make people believe this is easily doable.
I didn't said "easily doable". But I remember I made such an
outboundproxy based on openser using a rather old openser version just
by using tons of regular expressions and massive message rewriting. Thus
I think it is doable (but not easily)
> I ended up using asterisk for this.
>
> Greetings
> Jens
>
> PS: the closest match I did find is milkfish [1] which has IMHO the problem
> described above.
> http://www.milkfish.org/
> http://packages.milkfish.org/boozy/Milkfish_Sources_for_OpenWrt-SDK/OpenWrt-SDK/package/milkfish-sip/files/etc/openser/milkfish_openser.cfg
I also did take a look at milkfish some time ago and the config was
really buggy.
regards
klaus
More information about the sr-users
mailing list