diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index d054bbe9e6d7f26e625f96ffbbf18d7e355b7af4..02c175388440ccb1aec290b959e06c8fc2bead52 100644
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -159,6 +159,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 					<enum name="channel">
 						<para>The name of the active channel for the Agent (AgentLogin)</para>
 					</enum>
+					<enum name="fullchannel">
+						<para>The untruncated name of the active channel for the Agent (AgentLogin)</para>
+					</enum>
 				</enumlist>
 			</parameter>
 		</syntax>
@@ -2291,6 +2294,10 @@ static int function_agent(struct ast_channel *chan, const char *cmd, char *data,
 			if (tmp)
 				*tmp = '\0';
 		} 
+	} else if (!strcasecmp(args.item, "fullchannel")) {
+		if (agent->chan) {
+			ast_copy_string(buf, agent->chan->name, len);
+		} 
 	} else if (!strcasecmp(args.item, "exten")) {
 		buf[0] = '\0';
 	}