Klaus Darilion wrote:
Just for curiosity - how do your customers call
another customer if
they are registerd at serveral proxies - do you use the replicate()
feature, a special dial plan, a non caching ser or any other method?
regards,
Klaus
Yes, we use replication between the RTPProxy servers. As well as
replication between the standard servers. And we separate the users by
numbering plan. This is something we want to move out of in the near
future, thanks to "nat_uac_test". We just want to have 2 -3 servers
geographically separated that can handle peer-to-peer calls as well as
RTPProxy calls. Tests so far indicate this will work well for us.
Andres wrote:
Actually we are also testing
"nat_uac_test". We anticipate that it
will take care of most of our needs. And on our production network
we have 2 SER Servers exclusively for RTPProxy running non-stop for
about 7 months now. Whenever we can't make STUN or port forwarding
work on a client we simply poing them to one of those 2 servers. But
we plan to migrate out of that structure. It is too cumbersome. We
are planning on simply integrating the "nat_uac_test" into all our
servers so there won't be need for separate types.
Klaus Darilion wrote:
So you have to configure each user if he is
allowed to use rtpproxy
or not? And what is if the user is mobile - some times behind NAT,
some times not?
regards,
Klaus
Andres wrote:
Dinesh wrote:
> For a REGISTER will the below be true if the UA that is
> registering has
> a 5 in the 4th digit
>
> ie 1115999 true
> 1114999 false
>
> if (uri=~"[0-9][0-9][0-9]5")
> I saw some where in the docs that "User name is optional (it is for
> example never included in REGISTER requests)"
>
> Thanks,
> Dinesh
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
>
http://lists.iptel.org/mailman/listinfo/serusers
>
>
>
So I take you are simply trying to centrally manage whether a user
is to be foced through the RTPProxy or not. Seems your are trying
to do this with a numbering scheme which is quite cumbersom. We
are testing a more flexible approach based on acl groups. We
simply defined a new acl group called "rtp_proxy". On a request
like REGISTER or INVITE, Ser will check if either the "From" or
"To" usernames belong to the group and apply the RTPProxy.
Something like:
# Check if caller is on the rtp_proxy group
if (is_user_in("From", "rtp_proxy")) {
setflag(2); force_rport();
fix_nated_contact();
exec_msg("echo `date` - Caller is in rtp_proxy group
- From: $SIP_HF_FROM To: $SIP_HF_TO Contact: $SIP_HF_CONTACT >>
/var/log/ser/rtp_proxy.log");
};
# Check if called user is on the rtp_proxy group
if ((is_user_in("To", "rtp_proxy")) & !(isflagset(2)) {
setflag(2); force_rport();
fix_nated_contact();
exec_msg("echo `date` - Called User is in rtp_proxy
group - From: $SIP_HF_FROM To: $SIP_HF_TO Contact: $SIP_HF_CONTACT
>> /var/log/ser/rtp_proxy.log");
};
.
.
.
if (method=="INVITE") {
if (isflagset(2)) { # rtp_proxy group ?
force_rtp_proxy();
};
# /* set up reply processing */
t_on_reply("1");
};
--
Andres
Network Admin
http://www.telesip.net