diff --git a/CallCapture/CallCapture.cpp b/CallCapture/CallCapture.cpp
index c82befa..a04e9e5 100644
--- a/CallCapture/CallCapture.cpp
+++ b/CallCapture/CallCapture.cpp
@@ -117,6 +117,7 @@ int main(int argc, const char* argv[])
       if (number == 0)
         number = unknown;
       proxy.setTalkerID(number);
+      proxy.setTalkerAlias(call);
       syslog(LOG_INFO, "*** Found call-sign: %s (ID: %d)", call, number);
 
       pcre_free_substring(call);
diff --git a/CallCapture/PatchCordProxy.cpp b/CallCapture/PatchCordProxy.cpp
index 88bdd6a..2e0e94f 100644
--- a/CallCapture/PatchCordProxy.cpp
+++ b/CallCapture/PatchCordProxy.cpp
@@ -17,6 +17,7 @@
 // From PatchCord.h
 #define VALUE_CORD_OUTGOING_SOURCE_ID     1
 #define VALUE_CORD_INCOMING_SOURCE_ID     4
+#define VALUE_CORD_TALKER_ALIAS           7
 
 PatchCordProxy::PatchCordProxy(uint32_t network, uint32_t link)
 {
@@ -45,6 +46,26 @@ uint32_t PatchCordProxy::getTalkerID()
   return getSpecificValue(VALUE_CORD_INCOMING_SOURCE_ID);
 }
 
+void PatchCordProxy::setTalkerAlias(const char* value)
+{
+  size_t length = strlen(value);
+  const uint32_t* data = (const uint32_t*)value;
+
+  size_t index = VALUE_CORD_TALKER_ALIAS;
+  size_t count =
+     (length / sizeof(uint32_t)) +
+    ((length % sizeof(uint32_t)) > 0);
+
+  getContextBanner();
+  while (count > 0)
+  {
+    setSpecificValue(index, *data);
+    count --;
+    index ++;
+    data ++;
+  }
+}
+
 void PatchCordProxy::getContextBanner()
 {
   DBusMessage* message = dbus_message_new_method_call(
diff --git a/CallCapture/PatchCordProxy.h b/CallCapture/PatchCordProxy.h
index 8b8d398..d477135 100644
--- a/CallCapture/PatchCordProxy.h
+++ b/CallCapture/PatchCordProxy.h
@@ -14,6 +14,7 @@ class PatchCordProxy
     ~PatchCordProxy();
 
     void setTalkerID(uint32_t value);
+    void setTalkerAlias(const char* value);
     uint32_t getTalkerID();
 
   private:
diff --git a/SVXLink/echolink/BrandMeisterBridge.cpp b/SVXLink/echolink/BrandMeisterBridge.cpp
index 335a873..c5d6e34 100644
--- a/SVXLink/echolink/BrandMeisterBridge.cpp
+++ b/SVXLink/echolink/BrandMeisterBridge.cpp
@@ -94,7 +94,7 @@ void BrandMeisterBridge::setTalker(const char* call, const char* name)
   {
     // Remove characters after call-sign
     size_t length = delimiter - call;
-    char* buffer = (char*)alloca(length + 1);
+    char* buffer = (char*)alloca(length + sizeof(uint32_t));
     strncpy(buffer, call, length);
     call = buffer;
   }
@@ -105,6 +105,7 @@ void BrandMeisterBridge::setTalker(const char* call, const char* name)
 
   syslog(LOG_INFO, "Set talker ID to %d for call-sign %s", number, call);
   proxy->setTalkerID(number);
+  proxy->setTalkerAlias(call);
 }
 
 void BrandMeisterBridge::handleChatMessage(const char* text)
diff --git a/SVXLink/echolink/PatchCordProxy.cpp b/SVXLink/echolink/PatchCordProxy.cpp
index 88bdd6a..2e0e94f 100644
--- a/SVXLink/echolink/PatchCordProxy.cpp
+++ b/SVXLink/echolink/PatchCordProxy.cpp
@@ -17,6 +17,7 @@
 // From PatchCord.h
 #define VALUE_CORD_OUTGOING_SOURCE_ID     1
 #define VALUE_CORD_INCOMING_SOURCE_ID     4
+#define VALUE_CORD_TALKER_ALIAS           7
 
 PatchCordProxy::PatchCordProxy(uint32_t network, uint32_t link)
 {
@@ -45,6 +46,26 @@ uint32_t PatchCordProxy::getTalkerID()
   return getSpecificValue(VALUE_CORD_INCOMING_SOURCE_ID);
 }
 
+void PatchCordProxy::setTalkerAlias(const char* value)
+{
+  size_t length = strlen(value);
+  const uint32_t* data = (const uint32_t*)value;
+
+  size_t index = VALUE_CORD_TALKER_ALIAS;
+  size_t count =
+     (length / sizeof(uint32_t)) +
+    ((length % sizeof(uint32_t)) > 0);
+
+  getContextBanner();
+  while (count > 0)
+  {
+    setSpecificValue(index, *data);
+    count --;
+    index ++;
+    data ++;
+  }
+}
+
 void PatchCordProxy::getContextBanner()
 {
   DBusMessage* message = dbus_message_new_method_call(
diff --git a/SVXLink/echolink/PatchCordProxy.h b/SVXLink/echolink/PatchCordProxy.h
index 8b8d398..d477135 100644
--- a/SVXLink/echolink/PatchCordProxy.h
+++ b/SVXLink/echolink/PatchCordProxy.h
@@ -14,6 +14,7 @@ class PatchCordProxy
     ~PatchCordProxy();
 
     void setTalkerID(uint32_t value);
+    void setTalkerAlias(const char* value);
     uint32_t getTalkerID();
 
   private: