In a telecommunications system, a call agent is a Media Gateway Controller (MGC) when used in the context of (MGCP). It is concerned with the handling of specific services to users. MGCP is a server client protocol developed by Cisco, to make industry standard. MGCP is the only server-client voice communication protocol in existence. Other protocols and H323 are called as peer-to-peer protocols. MGCP being an open standard, anyone can use it and create their own Call Agent; for example "Cisco Call Manager", other type of Call agent Examples are AVAYA IP EPABX, Nortel CS1000E etc., these are not using MGCP or but some proprietary signalling pattern between the call-agents and End-points.
A call Agent controls the signalling communication between phones, Media gateways like routers on which PRI lines Terminate, ex Cisco 28xx Series Routers (now new versions of Cisco Voice Routers are released 29xx and 39xx), Media Gateways like Analog Extensions (also called as FXS in Cisco devices context like Cisco VG224 and VG248, VG202 and VG204) and Analog Trunks (also called FXO in Cisco Device Context). Call Agent is responsible to register the end devices like phones and media gateways, which act as dump terminals. After one has dump extension registered to the call agent, when end device phone instrument handset (headphone or speaker) is picked up, the phone sends signal to call-agent and informs that the phone handset has been picked up what to do, Call Agent instructs the phone to give the dial tone. After the user listens to the dial tone, user enters the destination number to which they want to dial. The phone will send each digit immediately that is dialed by user one by one (i.e. the first digit will be sent first to call-agent immediately it is dialed then second and so on).
Call agent receives the digits dialed by the phone. Call agent identify that to which destination Extension the dialed (called) number belongs to. If number does not belong to any extension, call-agent checks for which trunk does the dialed number belongs to. After the destination is identified Call-agent sends the information to the destination extension or to the destination Trunk, with Details like calling Party number, Called party number, bandwidth to be used between the devices to send the voice. If the destination is an extension that is registered to the call agent, then the call-agent will instruct the phone instrument to send the ring out of the ring buzzers of the phone and simultaneously instruct the calling phone instrument to play the ringing tone. After the rings are played, and when the destination person answers the phone, Call-agent instructs the phones to send the voice traffic, called as " Voice (Real Time Protocol) Traffic" directly to each other.