• New: Asterisk 13 support. (dialbegin event)
  • New: Optimize Local Channels on Asterisk 13 to improve Asterisk performance.


  • New: Registry configuration for set callerid prefix (CallidPrefix), it allows multiple activa on different machines without callid collision
  • Fix: registry handler leak
  • Change: Performance optimizations, async traces.
  • Change: Get traces configuration in RealTime.
  • Feature: Add privatedata (SIPCALLID, UNIQUEID, SOURCEUNIQUEID) to call events
  • Fix: Event (dial / newstate / newcallerid) order can cause problems. On asterisk 1.8 get callidName from connected callidName


  • Change: Try to don't do sequential block on "lineopen" requests.


  • Fix: Posible AsteriskCall linked uniqueid list loop.
  • Fix: Av. doing FastTransfer on inbound/predictive dbr calls.
  • Change: Async response to TAPI requests (MakeCall, Drop, StartRecording, StopRecording)
  • Change: Some performance optimization.
  • Change: Use non-blocking sockets to make buffered reads and improve performance.


  • New: ChannAgent compatibility.
  • Change: initial asterisk host parameters.
  • Change: File Permisions for network service on folder to grand write access to log files.
  • Fix: Sometimes after a fast transfer, it's possible that the call continues sending events to TAPI on the transferor monitor.
  • Fix: Report some events with right userdata (Asterisk 1.8.11 and FreePBX2.9)
  • Fix: Report callerid prefix information into some events (Asterisk 1.8.24 and FreePBX2.11)
  • FIX: MixMonitor UI description.


  • NEW: Event NetworkReached (LINECALLSTATE_PROCEEDING) for outbound calls.
  • NEW: Use MixMonitor for Asterisk>=1.8.3 to increase Asterisk recording performance.
  • Fix: Memory leak, not deleting devices from CSTA Call Model
  • Fix: show error message on registry writing failure from configuration dialog.


  • New: hold event support for Asterisk Manager Version 1.1
  • CHANGE: Performance improvement with huge amount of concurrent AstCalls.
  • CHANGE: Default trace file size from 4M to 50M
  • Fix: some remote disconnection are handled as local disconnection (IDLE) and not as remote (DISCONNECTED) in TSP level (causes: CONGESTION, ANSWERINGMACHINE & FAX).
  • Fix: fix some code cause mapping (causes 21 Reject & 38 NetworkOutOfOrder).
  • Fix: Avoid an AV. when no exist TapiCall after MakeCall
  • Fix: Do recording commands over Technology channels


  • NEW: Windows Server 2012 compatibility
  • NEW: Asterisk agent channel compatibility (chan_agent) for "always-connected" agents (tested on 1.4)
  • Fix: Asterisk 1.8 compatibility fixes.
  • Fix: Compare device && address as string.


  • Fix: FastTransfer request can produce an Access Violation due to a Race Condition.


  • Fix: Recording request can produce an Access Violation due to a Race Condition.


  • Fix: StopRecording when call is trasferred by sip phone.


  • FIX: Regression handling rename events.


  • FIX: Regression handling rename events when transfer is initiated by softphone.


  • FIX: Possible AV using x64 version.


  • FIX: Reduce CallerId(Name) length to try to fit 40 characters, because an Asterisk issue http://downloads.asterisk.org/pub/security/AST-2011-001.html.


  • New: Asterisk 1.8 compatibility (tested using new parameters connectedLineNum/Name).
  • New: Configurable Originate Variables ussing Dialog.
  • NEW: Login MD5 AuthType.
  • NEW: Dn edit replaced by a TextArea, limeted to 255 chars.
  • NEW: Logging dialog configuration parameters.
  • NEW: ActivaAPI library, that publish the C++ Activa's CSTA model for Asterisk AMI.
  • NEW: Universal Queue specific tests.
  • Fix: Keep logFilePath after update install.
  • FIX: Configure VC projects to use Multi-threaded DLL runtime.
  • FIX: DialPlan Dial to local channels isn't handled properly.
  • Fix: Don't send ConnCleared OnRenameEvent.
  • Fix: Don't count initialized devices when doing Fasttransfer.
  • Fix: Possible Av. Use only once negative return code ussing CompletionProc or "TSPI return code".
  • Fix: If Dial / NewState Ringing events come disordered alerting / established were reported ussing different callid.
  • Fix: Dn expresion max len extended to 256.
  • Fix: Duplicate alerting in predictive calls.
  • FIX: Install vcredist for VC2005sp1 at install time.


  • New: ActivaTSP copy .pdb symbol files for debug proposes.
  • New: Trace buffering.
  • Change: ActivaTSP output to debugger disabled.
  • FIX: making predictive calls using IAX trunk Asterisk, sometimes, sent 2 alerting events.
  • Fix: logic callid trace occurs too often and consumes to much resources.


  • NEW: Notify ConnCleared with LINEDISCONNECTMODE_ACTIVATSP_ANSWERING_MACHINE cause 0x80000000 if Asterisk sends a customized hangup event with 203 cause.
  • NEW: Notify ConnCleared with LINEDISCONNECTMODE_ACTIVATSP_MODEM_FAX cause 0x40000000 if Asterisk sends a customized hangup event with 204 cause.
  • NEW: Notify Congestion cause.
  • FIX: race condition caused multiple IDLE events for the same call.


  • FIX: Av if Dn expression is empty.
  • FIX: trunks using '-' separator are incorrectly displayed ('my-trunk' was displayed like 'my').
  • FIX: Memory leak using IAX2 agent extensions.
  • NEW: IAX2 tests.
  • FIX: emty extension generation.
  • FIX: Outlook Race Condition hangup.
  • FIX: Synchronization to send CompletionProc before events in makecalls.


  • FIX: regression in revision 493 did not send some events due to typo in minimization rules


  • NEW: Asterisk1.6 compatibility.
  • NEW: FEATURE_CODES standardization for AgentACD integration login, logout, ready, notReady.
  • NEW: ActivaTSP x64 version.
  • New: Windows 2008 Server compatibility.
  • CHANGE: Some performance optimization.
  • FIX: SIP/ Dns can generate void extensions.
  • FIX: in process dn expresion, the duplicate filter deletes non duplicate entries.


  • Fix: AV in OriginateResponse event.
  • Fix: #2526111 Too large numLines produces an exception
  • Fix: callmap item leak when asterisk sends newchannelevent with no channel info. now the crazy event is ignored.
  • Fix: refactoring. locks code review.
  • Change: ASTTapiProvider::TSPI_lineMakeCall() to create a TapiCall and return a valid LPHDRVCALL to TAPI
  • Change: m_status changed to enum for better performance.
  • Change: now tracing uses string references to reduce unnecessary string-copy.
  • New: cppunit tests added.
  • New: Asterisk recording support, start - pause - unpause - stop.


  • Fix: activaTSP returns correct cause if callid is changed by Asterisk dialplan.
  • Fix: All originate channels have called context - ID: 2761802.
  • Fix: Move unhandled event traces to debug (trace0) tracing level.
  • New: ActivaTSP installer now can update old activaTSP versions.
  • New: Configurable number of log files and log files size using registry parameters maxLogFiles and logFileSize.
  • FIX: (fixed in build 1019) AV in originateResponse event.


  • FIX: OriginateFilure / OriginateResponse event (#2151081 Orinate timeout isn't handled properly).
  • FIX: MakeCall use Outgoing context as Calling context.


  • ADD: define log file path in registry logToFilePath key.
  • ADD: registerActivaTSP.exe /config to show configuration dialog.
  • ADD: registerActivaTSP.exe /install /config to install and show the configuration dialog.
  • ADD: Windows start menu activaTSP shortcut to config dialog.
  • CHANGE: trace format.
  • CHANGE: DumpMaps to trace0.
  • CHANGE: default log file path equal than install path.
  • FIX: avoid a possible reregistration and duplication of ActivaTSP TAPI driver.
  • FIX: avoid memory leak when the phone is "user-busy" and any other state that no Create an entry in the CSTA callmap
  • FIX: reduce probability of CPU 100% usage in linkdown scene when there are pending InvokeID.
  • FIX: Dead Lock when events and make predictive call runs concurrently.


  • NEW: registerActivaTSP.exe /installsilently, register ActivaTSP without human intraction.
  • CHANGE: ActivaTSP close the AMI socket when all lines are closed.
  • UPDATE: doxyfile configuration for doxygen.
  • FIX: activaTSP uninstallation process to remove items windows unistall list.
  • FIX: access violation in expresion generator when activaTSP shutdown


  • NEW: multiple DN can be defined by expresions in DN configuration field.
    See faq: How to configure multiple lines ?
  • FIX: access violation in AMI comunication failures.


  • FIX: added callerid overwrite on dial event to add phone to queue ast1.4 event compatibility.
  • FIX: changed state string type to int enum for better performance.
  • FIX: upercase to lowercase comparations.


  • FIX: Using UerData could produce AV
  • FIX: Handler leak


  • FIX: Configurations with DN = prefix SIP/phone_number don't generate correct event flows.


  • NEW: Compiled with VS2005
  • NEW: Support to Asterisk 1.4
    - On newchannel event exist a new parameter: calleridnum
    - Suport QueueCallerAbandon event
    - Suport OriginateResponse event
  • NEW: Add support for events hold/unhold. That events are shown if the param callevents=yes are activated in asterisk configuration.
  • NEW: Added new function on CSTA level ASTCstaProvider::ClearConnection(DWORD callid, std::string address)
  • NEW: Added new registry key to control the agent context (used to login/logout into ACD).
  • NEW: Deleted deprecated functions:
    - AsteriskCall::HasCallId ()
    - ASTProvider::QueuePause (std::string queue, std::string channelInterface, bool bPaused)
  • NEW: Deleted unused registry keys:
    - ext-local-context
    - from-internal-context
    - terminate-context
  • FIX: An important bug in ASTCstaProvider::OnLeaveEvent(ManagerEvent ev) that causes a crash.


  • NEW: In TSP level, CALLSTATE_IDLE reports disconnection cause.
  • NEW: Added new function on ASTProvider::QueuePause(std::string interface, bool pause). That function pause and unpause one agent in every queue that is logged in.
  • NEW: Added new functions to make a CSTALink: AsteriskCall::HasCSTALink() AsteriskCall::LinkCSTACall()
  • NEW: Added new type of channel (transfered) on AsteriskCall::GetTypeChannel() AsteriskCall::GetAddressFromChannel()
  • NEW: callId and invokeId are the same counter.
  • NEW: TSP can administer more than one call at the same time
  • NEW: added support for predictive dialers with MakePredictiveCall function. That function activates LINECALLPARAMFLAGS_PREDICTIVEDIAL flag.
  • NEW: Adding differents disconnection causes for predictive dialers:
    NORMAL - reported when a user hangup the phone
    NOANSWER - reported when a phone no answer
    OUTOFORDER - reported when a call is finished but the phone is pickup during more time.
    BADADDRESS - reported when the phone not exist
    REJECT - reported when an agent reject the call
    FORWARDED - reported when a call is finish because a queue forward the call to an agent
    UNREACHABLE - reported when a call cannot arrived to destination
    UNKNOWN - reported in other causes
    TEMPFAILURE - reported when a trunk fails
  • NEW: In AsteriskCall level, adding /n to local channels according to http://www.voip-info.org/wiki/view/Asterisk+readme.channels.
  • NEW: In CSTA level, MakeCall and MakePredictiveCall return callId.
  • NEW: In TAPI level, adding support for userData. The transport of this parameter is linking the information to callerIdName.
  • Fixed some bugs specified on whatsnext.txt file


  • NEW: one-step-transfer executing #+ExtensionNumber.
  • NEW: Added Variable: answer-after=0 in originate. This allows for a customized dialplan to distingish originated calls from other call type. Useful to set autoanswer headers in sip phones.
  • FIX: Fixed segmentation fault when asterisk server fail
  • FIX: Sending call cleared with the correct device.
  • FIX: ASTCallMap::RemoveXref(MonitorXref xref) has errors.
  • FIX: Fast transfer always redirect the caller device.


  • FIX [ 1563743 ] a call to ring-group is IDLED after a member answers. OnHangup failed to re-link calls in call-map after removing a call. Added CallCleared event when call is removed from call-map. Modified TSP OnConnectionCleared: now only idles tapicall if releasingDevice is local tapi line.
  • FIX: when incoming call to ring-group no alerting event was generated. Diag: recent change in event_handlers.cpp broke RULE-4: Do not send ALERTING/ESTABLISHED/FAILED if caller==called==address
  • FIX: Changed TSP connectedID field to 'other party'.
  • CHANGE: Changed events sent to a tapi app monitoring a Queue: now we send LINECALLSTATE_OFFERING + LINECALLSTATE_ACCEPTED.
  • FIX: tsp configuration did not store calleridname to registry.
  • FIX: some scenarios leave a phantom call in call-map but do not send an idle to TSPline. Changed TSPI_lineDrop() to idle tapi call even if invalid_callid. May fix BUG: [ 1560547 ] A network loss disables ActivaTSP communication to asterisk.
  • FIX: if monitoring a queue calls that leave never gone idle. Changed TSP onDiverted().
  • CHANGE: Set call channel also in newstate event handler.
  • FIX: [ 1548889 ] Using zap trunk: Outgoing calls gives "1" as the dialed number. Changed alerting/established/failed in event_triggers.c to send event.call.cid instead of event.call.address.
  • FIX: [ 1548889 ] CID on incomming calls from zap trunk gives unknown callerID. TSP now informs dwLineCallorgin. If cidname is unknown it is overwritten by cidnumber


  • CHANGE: Internal call-model has been improved. New code achieves much less event 'noise'.
  • ADDED: If lastRedirectingDevice is void, then cidname is parsed. If cidname is in the xxx:yyy form then the xxx prefix is used as lastRedirectingDevice. Useful in acd calls.
  • FIX: [ 1553653 ] ActivaTSP setup registers it again even if already installed. Now it tries to unregister before re-registering. Added ExecWait "$INSTDIR\registeractivatsp.exe /removesilently" before ExecWait "$INSTDIR\registeractivatsp.exe"
  • CHANGE: changed ASTCstaListener event interface to NOT report true pointers but opaque-handlers together with all info fields.
  • FIX: Corrected cid/cidname in acd calls.
  • CHANGED: Inbound acd call scenario event noise reduced.
  • CHANGED: mISDN inbound call to acd queue to address was too noisy.
  • FIX: [ 1547849 ] dialout fails if dialed number contains space or '-' . New filtering algorithm accepts 0-9. A-B, *, # and ' as escape character :
    • sample: calledNumber = +1 (555) 43-21 => 15554321
    • sample: calledNumber = 'extension0001 => extension0001
  • CHANGE: when getting address from misdn channel create a more unique address. now: channel=mISDN/1-1, 1 => address=1
  • Refactoring: separated new object: ASTCallMap class
  • Refactoring: moved astcstaprovider event_triggers to a different file.
  • Refactoring: Moved method to AsteriskCall class.


Please find older readme files here: readme v1.1.0

About us...


Activa TSP was developed by ICR and given to the Community to facilitate the creation of telephony applications.

ICR is the first company to openly release a professional free software solution, EVOLUTION Call Center.

EVOLUTION Call Center is available in Spanish.


Please drop a message in the forums and tell us how Activa for Asterisk worked for you.

We will be happy to hear from you what your configuration is like, if using SIP, IAX2, mISDN, ZAP or whatever, if using queues or if your MS Outlook or TAPI application is working well with open-source Activa.

We are interested into knowing what different configurations have been tested, what is missing and if there is something to fix (sure there is). If you let us know we may try to fix it.