SIP profiles and user agents
Before we finish our discussion of SIP and the user directory, it would be good to touch upon a subject that some users initially find a bit daunting: SIP profiles. In the strictest sense of the word, a SIP profile in FreeSWITCH is a user agent. In practical terms, this means that each SIP profile listens on a particular IP address and port number. In the example configuration, the internal
profile listens on port 5060, and the external
profile listens on port 5080. Not only does the profile listen, but it can respond as well. For example, when a phone sends a SIP REGISTER
packet to FreeSWITCH (at port 5060), the internal
profile hears the registration request and acts accordingly. The files in conf/sip_profiles/
are ones which determine how the profiles behave. Many of the parameters in these profiles are used to customize how FreeSWITCH handles various SIP traffic scenarios. In most cases the defaults are reasonable and should work. In other cases, though, you may find that because of the peculiarities in various VoIP phones, vendors, or your local environment, you will need to make adjustments.
Lastly, do not let the profile names, internal
and external
, be a source of confusion. Each profile is simply a user agent that is streamlined for a specific purpose. The internal profile is optimized to handle telephone registrations and calls between registered phones, even phones that are not on the local LAN. The external profile is optimized for outbound gateway connections and several NAT traversal scenarios.
For a deeper discussion of user agents and the concept of a back-to-back user agent (B2BUA) see http://en.wikipedia.org/wiki/Back-to-back_user_agent.