When I make a call, the other party can't hear me, but I can hear them (or vice versa). The typical situation is that you can be heard, but you cannot hear the audio coming in the opposite direction.
Explanation: The probable cause of your issue is a codec mismatch or a port issue with your NAT device.
This is typically a NAT/Firewall issue. The NAT/Firewall is blocking the inbound audio stream. To disable this feature, allow OnSIP to handle NAT detection by turning NAT detection off in your phone settings and turn OFF any SIP-aware functions on your firewall. Our network will return the same port for inbound audio as outbound audio, which simplifies the job for the NAT devices involved.
To see if your phones/firewall are sending OnSIP the proper packets, log into the Onsip interface and click on 'Users'. Click on the name of one of the users to see the User Detail. Scroll down to the 'Maintenance' block and click on '(Show Details)' next to the SIP Registrations line. You should see a 'Contact' address like: sip:firstname.lastname@example.org. The important part is that there is a 'Contact' line and the IP address is an 'internal' IP address, e.g. 192.168.x.x. Separately, you should see a 'NAT Address' line showing your external IP address. If you see both then your phone and firewall are correctly sending your TCP/IP address information to OnSIP.
The other possible cause of this problem is that the two phones cannot agree on a common codec. The way two phones decide how to communicate is to select a codec available to both phones, choosing the common codec with the highest preference. This preference is modifiable on most phones and is how extension-to-extension calls on our network work. For calls that we send and receive from the PSTN, we force ulaw if it's available for greater compatibility with the PSTN. Voip-info.com has a thorough discussion of codecs if you'd like more information.
SIP Packet Examination (Advanced)
If you have access to SIP packet traces for the phones (this is provided by some phone vendors in the diagnostics), look for a line that begins with "m=". This is how you'll see your available codecs listed. If you compare this to the other party's phone settings, the problem may become immediately apparent. To adjust, change the codec settings on your phone so that the primary preference is a common codec with the other party's phone.