Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Force iChat's multi-person bandwidth allowance Apps
Regarding issues that some people are having with multi-person video and audio chats in iChat AV, I think that I have found a way to force iChat to honor the "Streaming Speed" setting in the QuickTime System Preferences pane.

Normally, when iChat launches, it performs a bandwidth check against bwdstart://snatmap.mac.com:16384. This can be verified by launching iChat with debugging enabled, as found elsewhere on the net. Launch iChat in Terminal with this command:
/Applications/iChat.app/Contents/MacOS/iChat -errorLogLevel 7
This results in a complete lack of consistency with regard to the amount of bandwidth allocated to iChat. For example, very little bandwidth will be allocated to iChat if the internet "pipe" is full when iChat is launched. Conversely, if there is little to no internet traffic when iChat is launched, a large amount of bandwidth will be allocated.

Adding a firewall rule that blocks iChat's attempt to contact this "bandwidth server" forces a fallback to the QuickTime Streaming Speed setting. This will allow you to have a modicum of control over the amount of bandwidth that iChat uses. Here is the command you will need to enter in Terminal (without line breaks) to enable this rule:
sudo ipfw add deny log logamount 65535 ip from any to 17.250.248.149 out via en0
Of course, if you are using something other than built-in ethernet, you will need to substitute the proper interface name (such as en1 for an Airport connection). These can be viewed by issuing an ifconfig -a in Terminal. You will also need to delete iChat's preference files (~/Library -> Preferences -> com.apple.ichat.*) in order for this to take effect. Hopefully someone will find this to be useful!
    •    
  • Currently 2.00 / 5
  You rated: 3 / 5 (2 votes cast)
 
[17,411 views]  

Force iChat's multi-person bandwidth allowance | 9 comments | Create New Account
Click here to return to the 'Force iChat's multi-person bandwidth allowance' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
Force iChat's multi-person bandwidth allowance
Authored by: yostinso on Apr 13, '06 07:36:29AM
If you're like me and live in the dangerous world of no firewall, you can probably also block iChat's test by editing your /etc/hosts file. You can do this from the terminal (using nano, for example), or your favorite editor. Just edit the line of the file that starts with 127.0.0.1 to read:
127.0.0.1             localhost snatmap.mac.com
This will make iChat try to connect to the computer it's running on at port 16384, where (most likely) nothing is already running, so it will fail.

[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: simply258 on Apr 13, '06 08:08:31AM

can it be blocked with Little Snitch ?



[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: vykor on Apr 13, '06 09:28:56AM

I was under the impression that the connection to snatmap.mac.com performed NAT traversal as well - this allows pseudo-intelligent behavior of iChat behind NAT'ed interfaces. Disabling this connection entirely might affect automatic traversal, if you sit behind such an interface.



[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: ryebrye on Apr 13, '06 11:43:19AM

Good point. The name "snat" makes it seem like it being used to get around NATs would make sense.

I guess I wont try this, as I am most DEFINITELY behind a NAT. (I'm actually behind at least two or three NATs... :( )



[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: dalesan on Apr 23, '06 02:27:59PM

What is the command line to undo this ipfw rule?



[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: garywestfall on May 01, '06 12:14:16PM

sudo ipfw flush



[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: Onirix on May 11, '06 11:29:18AM

Just been using this method to troubleshoot a satellite connection problem with ichat, and I thought I would mark our findings here, and answer some questions as well.

The firewall you set up to block the bandwidth check and to default to quicktime streaming speed is only temporary, so restarting your machine sets it back normal in my experience.

Regarding actual bandwidth check at start, indeed this hint is good and does set the bandwidth to quicktime streaming settings, but our problem with connectivity had to do with a second test that ichat does as soon as a videochat tries to start. It seems it checks again, between users involved in the chat, and this does not use the same bandwidth check method I guess.

Our problem is over satellite in the north our speed starts very low, then bursts to high enough for a chat. Ichat always reads that we have insufficient (28 up and down!) bandwidth to start the chat, even when using this hint. But we tricked it once by starting a file transfer right before the chat, thus upping our speed. iChat then knew we had enough and permitted it.

Anyone out there know of a way to get ichat never to check bandwidth, or to at least wait until well into the chat before it adjusts? Are there any other discussions out there on this specific satellite problem? Thanks in advance.



[ Reply to This | # ]
Force iChat's multi-person bandwidth allowance
Authored by: andyinindy on May 18, '06 10:27:31AM
Onirix:

You might find this to be interesting:

http://www.ralphjohnsuk.dsl.pipex.com/page3.html

Specifically, this passage:

Port 5678 is not clearly documented as to it's use in the Apple Doc. It is in fact a server called "snatmap". This server does one job during Audio and Video chat invites. When you send an invite, this server does the negotiating between the two computers and tells them which ports are available for use. As soon as you click on the invite window to make a choice of Accepting, Blocking or Text chatting it immeadiately hands over to Port 5060.

Maybe completely blocking port 5678 would help with your problem?

--andyinindy

[ Reply to This | # ]

Force iChat's multi-person bandwidth allowance
Authored by: Ralph Johns on May 29, '06 11:34:11AM

Hi,

That port is only used for invites. The speed that iChat gets from Quicktime at the startup of iChat is held in com.apple.ichat.plist

It is this figure that needs changing.

Ralph

---
Ralph Johns
Ferndown
Dorset
Great Britain



[ Reply to This | # ]