[asterisk-users] asterisk-users Digest, Vol 48, Issue 56

Bill Michaelson bill at cosi.com
Sat Jul 19 12:19:32 CDT 2008




> Message: 1
> Date: Fri, 18 Jul 2008 20:35:47 -0700
> From: Dave Platt <dplatt at radagast.org>

> I'm preparing for a client install of * by doing a fresh one in-house.  
> Unlike my earlier installation that runs asterisk as superuser, my 
> current experimental box runs without such privilege.  This is causing 
> it to moan that it can't set TOS.  I absolutely don't want to install it 
> on the client LAN without this capability.  If need be, I'll set the 
> binary to run setuid root.
>
> But I'm looking for something more elegant.  While googling, I found a 
> suggestion to use iptables mangle rules to set TOS for all packets going 
> out of the box on ports like 5060 and 10000:20000.  Not a bad hack, but 
> indiscriminate and this box will be handling other traffic besides the 
> RTP.  I'd like to do better.
>   
>
> It is possible for an iptables filter/rule to match packets in the
> OUTPUT chain based on the UID or GID of the process which created
> them, if you have the "owner" module loaded.  You should be able to
> add a rule to the OUTPUT chain of the mangle table which will set the
> TOS properly for any and all outbound packets generated locally by the
> non-root user ID which you're using to run Asterisk.
>   
I've used LARTC and I'm aware of the capability, but keying on UID did 
not occur to me. Thank you - it's a good solution.
> Come to think of it, I think I need to do this myself.  I'm using the
> "ultimate Linux traffic conditioning" configuration (modified very
> slightly) to prioritize my system's outbound traffic into multiple
> queues by TOS, and it's probably mis-queueing the RTP traffic because
> my Debian install of Asterisk is running under a non-root UID.
>   
Glad to be of assistance.
>   
>> I thought of using POSIX access control to enable asterisk to do TOS 
>> setting without being root (would this be CAP_NET_RAW?), which sounds 
>> perfect, but so far I'm operating with stock ubuntu hardy, and I would 
>> like to avoid a kernel build to add this capability.
>>
>> Any other ideas?
>>     
>
> Seems like "iptables -t mangle -A OUTPUT -m owner --uid-owner $ASTERISK"
> would be along the lines of what you want?  Mark the packets with the
> TOS you want... and then consider using the Linux traffic-shaping
> system to make sure that they really do get transmitted ahead of
> non-urgent packets:
>   
Traffic-shaping in the box would probably be overkill for my purpose 
because the nature of the routing in this box will limit the contention 
from this source. I think I just need to have the packets treated well 
once they hit the local network. But this is also a worthwhile 
consideration, and probably useful in other circumstances. Again, thanks 
for the reply - it's right on target and solves my problem nicely.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20080719/648f6949/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3221 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.digium.com/pipermail/asterisk-users/attachments/20080719/648f6949/attachment.bin 


More information about the asterisk-users mailing list