I have been burned 3 times by OCS when trying to bind multiple IP addresses to the same NIC. Here are the three scenarios:
-
Trying to use the same NIC for the internal and external IP address on the Edge Server
- We had only 1 available nic, so I put both internal and external IPs on the one NIC
- Communication failed totally – couldn’t get an external user to sign in from the outside through the edge
- Finally got another NIC for the server. We split the IPs to different NICs
- Success.
-
Trying to use multiple IP addresses for the Mediation Server
- Had 2 IPs (both on the same subnet) for mediation: one for gateway listening / one for OCS listening
- Calls through the mediation server to the PSTN gateway were failing. Callers would hear just dead silence. PSTN gateway was saying "can’t find an available trunk" and returning a SIP 404 error
- I looked in the PSTN gateway’s logs and saw that calls were coming in from the mediation server, but from the wrong IP! They were coming from the OCS listening side
- Change mediation server to just use the same IP for PSTN and OCS listening
- Success.
-
Had a Medaition server with multiple IP addresses. I was only using 1 of them for Mediation
- Everything was working fine and dandy for about 3-4 months
- We stopped and started the services on all OCS servers (including mediation) during maintenance
- All of a sudden, no inbound calls would route.
- Outboud calls were even weirder: the destination phone would ring, but no voice in either direction
- The mediation server showed a ton of SIP 200 errors: malformed proxy header
- I finally installed Wireshark on the mediation server and took a peek. It was disgusting! OCS was trying to use any/all IP addresses on the NIC for communication. The sniffer cap was a total mess – OCS trying to do STUN binding requests to everything it could find. Ugly.
- Moved Mediation to a server with just 1 NIC, 1 IP address.
- Success.
Lesson learned: NEVER assign multiple IP addresses to a NIC on an OCS server. You may get away with it for a while (see example 3 above) but it will kill you in the end.