Intercom provides some options which configure how it communicates over a network. Most people probably won't need to adjust these but they are here in the event that you do.
Intercom uses two sockets in a standard call, a TCP socket for data communication such as parameter negotiation and a UDP socket for the actual audio data. The UDP port used is random and is currently not configurable; however, the TCP port on which Intercom listens is set through the port variable. By default, port is set to 4266 but can be changed through the set command. You will need to restart Intercom in order for the setting to take effect so it will be necessary to save it first.
Setting IPTOS_LOWDELAY on a socket generally causes packets on that socket to be sent out before others. Intercom uses this option as it is a real-time application where audio delays are not desired. This is unlike an application such as a web server where a minor delay really doesn't matter too much. By default, Intercom sets this option on its audio socket. However, this behavior can be controled, through the iptos_lowdelay variable. This is a boolean variable (0 or 1) which when set to 0, the IPTOS_LOWDELAY option is not applied to the socket.
The UDP protocol is packet based. As such, Intercom sends and receives audio data in chunks of a certain size. The packet size Intercom uses is defendant on the sample rate and compression format used. It can vary slightly if encryption is used and can also fluctuate during a call. In general, it is desirable to keep packets relatively small to ensure a minimum audio latency. We try to be smart about this and it should rarely be necessary to adjust the sizes.
The UDP packet sizes are controled through two variable. they are udp_minsize and udp_maxsize which control the minimum and maximum packet sizes respectively. By default, udp_minsize is set to 64 and udp_maxsize is 512.
The udp_minsize variable is most important when audio compression is used. If it is too high, audio data will buffer and higher latencies will result. However, if it is too low, many packets can be sent which can cause problems of its own. The value of 64 is reasonable in most cases. It was chosen so as not to buffer up too much data and when using a CODEC such as GSM at 8k, it will limit packets to a single frame.
The udp_maxsize variable in contrast, is more important when compression is disabled. It can also come into play when compression is used and a high sample rate is employed. If Intercom is sending packets which you think are too large, you can decrease this value. However, don't bring it too close to udp_minsize. Intercom needs some flexibility in how it sizes packets.