Login  |  Create Account   |   0 Item
home products wiki help screencasts tracker forum faq downloads about us


What is SafiWorkshop?



SafiWorkshop is a revolutionary (and open source) call flow and IVR designer. With SafiWorkshop you can design, test, debug and deploy advanced call routing applications from a single, unified development environment. SafiWorkshop also includes a prompt recorder/importer for managing IVR prompts and a fully featured SQL query editor.


What is SafiServer?



SafiServer is the open source engine that powers the applications (called Saflets) created using SafiWorkshop. SafiServer uses these applications to control one or more Asterisk PBXs. The SafiServer also acts as an application repository for multi-developer environments. Some of the possible uses of SafiServer include:

Call center IVR Corporate auto-attendant Account managment Order Taking
ATM / Branch locator Credit card services Bill enquiry systems Dispatch services
Prepaid telephone services Complaint handling Directory assistance Nearest dealer routing
Flight information Reservation systems Frequent flyer management Dealer locator
Customer service routing Telebanking Central office utility Product information


Safi Systems News:


State of Safi Address

It's been quite awhile since our last post so I thought it was time to let people know what we've been working on and what's coming. It's been an exciting several months for us. We've been busy pursuing a number of interesting business opportunities related to SafiWorkshop/SafiServer and are actively engaged in one that has already materialized. The recent radio silence can largely be attributed to this diversion of attention but that's not to say we haven't been busy developing and improving the product. In fact, we have some significant and exciting updates to the product coming soon. Here's a few of the changes in the pipeline:

  • FreeSWITCH support - We've been planning on doing this for awhile now but, after spending some time with a newer FreeSWITCH build recently (and loving it), we decided it couldn't wait any longer. All the underlying socket and event work has been done, the domain models have been created, and some of the UI stuff is already in place (i.e. FreeSWITCH ActionPak). We'll roll out an Alpha version with just minimal IVR functionality first (DTMF capture, play audio, etc) with an expanded suite of ActionSteps to follow.

  • More Modular Modules - Our original goal with this product was to create a platform for creating Asterisk IVR and call-routing applications graphically. While we achieved our purpose (admirably we think), the product wasn't as platform-agnostic as we would have liked it to be--it was designed as an Asterisk-specific product and was essentially implemented accordingly. In support of the FreeSWITCH module development and some of the contract work we've been doing, SafiWorkshop and SafiServer have undergone a comprehensive refactoring. The core SafiServer and SafiWorkshop modules are now free of all platform-specific code (i.e. Asterisk, FreeSWITCH). Platform-specific functionality is provided in the form of plug-ins or modules. Currently an Asterisk module is available and a FreeSWITCH module is in the works. Current users won't notice any difference but this change will facilitate future support for other telephony systems (or even non-telephony-related technologies) and will make the system even more easily extended.

  • Support Services - Due to popular demand we'll be rolling out software support packages for SafiWorkshop/SafiServer. There will be a number of flexible pricing options with varying levels of support available. We hope to make these services available some time 4th quarter 2010. Stay tuned.
Our next major release will be cut from this newer more modular codebase and will include ServiceMix integration (same as SafiServer 1.3 RC) and a number of bug fixes and enhancements. We expect to have a "preview" release including an Alpha version of the new FreeSWITCH module before ClueCon in August with the full production-ready version before Astricon in October. You can also expect the long-awaited SafiWorkshop for Linux to be released around the same time.

SafiServer and SafiWorkshop 1.3 RC1

SafiServer and SafiWorkshop (version 1.3RC1) are now available for download. We've fixed several major bugs that were found in the 1.3 Beta versions.

Here are a few of the fixes and additions:

  • BUG FIX: Issue with SaveAs function
  • BUG FIX: Boolean Editor missing in SafiWorkshop
  • ExecuteApplication: Application property changed to dynamic value
  • Fixed underlying bug with ThreadLocal vars in SafiServer that was causing errors
  • The Linux installer and service scripts are back (tested on CentOS)

    To install the Linux SafiServer, un-tar the download to a directory of your choice:

    tar zxfv SafiServer-1.3.0.RC1.tar.gz

    Run the install script (located in the SafiServer root directory)

    cd SafiServer-1.3.0
    ./installserver.sh


    You should see the following:

    Fill in the appropriate information and the service should start automatically. Note: SafiServer startup may take a few minutes. You can verify that the service is running by looking in the karaf.log file (found at my_install_dir/SafiServer-1.3.0/date/log/karaf.out). You should see the following line after the server has started:

    Listening on *:4573.

Please let us know if you come across any issues: Forum: Issues and Questions

-Eric

Running the New SafiServer 1.3 Beta

I've added a couple entries into the wiki on setting up and running SafiServer 1.3 Beta:

-Eric

SafiServer 1.3.0 And What We've Been Working On


If you noticed that it's been a little quiet on the new Safi releases front, here's why:  Over the past few months we've been working on integrating SafiServer with Servicemix, the popular SOA (Service Oriented Architecture) platform by Apache.  Our goal is to expose many of the powerful features of ServiceMix to Saflet developers including integrations with SNMP, email, JMS (Java Messaging Service), job scheduling, Web Services, file i/o, HTTP and TCP sockets, and many other technologies.  ServiceMix 4 also provides a modular framework (OSGI-based) allowing functionality of SafiServer to be updated or extended on the fly in a more fundamental way than is possible with the current SafiServer update mechanism, all with minimal disruption of service.  ServiceMix includes a comprehensive management API that, once integrated, will provide the SafiServer administrator with a detailed view of the system, from the very high level down to individual components. 

So what does this mean to you?  One nice new piece of functionality enabled directly by the new ServiceMix integration is the Web Service-based remote Saflet invocation.  The SafiServer now hosts a Web Service (http://localhost:9090/safletInvokerPort?wsdl by default) that exposes an operation allowing Saflets to be invoked with full support for input and output parameters.  This is an incredibly powerful feature and documentation and examples will be available on the Safi Systems website in the near future. 

Other than that, SafiWorkshop/SafiServer users shouldn't see too much evidence of this new architecture.  The real payoff of this integration effort will become apparent when we're able to leverage the power of ServiceMix in the form of new ActionSteps and SafiServer services, expanding the capabilities of the SafiServer beyond the world of telephony and further into the larger realm of the modern enterprise.  This release represents the first step in that direction and consequently this is a Beta release.  However, SafiServer/SafiWorkshop users will be happy to learn that many bug fixes and enhancements have been included as well.

Download Beta Versions Here

  • Improvements/Enhancements
    • Saflet Invocation via Web Services
    • Standalone Custom Initiator Client for invoking Saflets remotely
      • under the hood uses aforementioned Web Service Saflet Invocation
    • "Stateless" Saflets
      • All Saflets are now stateless reducing memory overhead and Saflet invocation latency.
    • New Manager API ActionStep
      • Exposes complete AMI (Asterisk Manager Interface) API
      • Useful for special cases where no ActionStep providing specific functionality exists
    • Majority of "colorful" language removed from console output
  • Bug Fixes
    • Remote DB connections from SafiWorkshop don't always work
      • completely new implementation of database connections from the SafiWorkshop.  All connections are now created from the SafiServer without requiring port redirection (which caused issues in some cases)
    • RunQuery: Query parameters not always in sequence
    • Web Service ActionStep not working
      • fixed issue caused by missing classpath entry
    • Getting CallInfo for outbound calls not working
  • Known Issues
    • Not all relevant logging messages getting logged to SafiWorkshop console
    • Some debug messages are duplicated in SafiWorkshop console
    • Server restart is not implemented.
    • Changing sa password is not possible from SafiWorkshop
    • First call to CallWSByWSDL takes a long time


Note: You will need BOTH SafiWorkshop and SafiServer 1.3 in order to publish Saflets. 



Software Release 1.2.5

Version 1.2.5 of SafiServer (linux and windows) and SafiWorkshop (windows) are now available for download. You will need to uninstall any older version before installing the new version. Also, be sure to backup your Projects and Saflets in a SAR file and/or backup any workspaces you have (located by default in the SafiWorkshop install directory).

There are mostly bug fixes in this release and some changes to the way we're versioning the product.

Please let us know if you encounter any issues: Safi Systems Forums

Thanks,

Eric

Program Updates, Strings, and IRC

First off, thank you everyone who has been posting in the forums and sending us emails! We live off your feedback and in turn we've been able to address quite a few issues in our 1.2 release. These updates/fixes are available through our updates site. Also, make sure to "push" any pending updates to your SafiServer (from the SafiServer view tab).

NOTE: You should be prompted to update when SafiWorkshop starts, but you can also go to: Help::Update

We've also been getting quite a few post and emails regarding the qualifying strings with quotes. This may be a little confusing as it wasn't always the case in our system. We decided that in order to maximize the flexibility of our system, we would switch to having our scripting engine handle most ActionStep properties (the fields with the blue background). This change allows users the ability to enter short scripting statements directly in the property field without having to open up the Dynamic Value Editor.

So in short this means that if you want to put a literal string value in a field; you must qualify (surround) it with quotes (e.g. "test"). For example: when evaluating captured DTMF digits; you will need to have the digit(s) that you are comparing to surrounded by quotes (as the value captured is a string not a number).


On a completely separate note, one of our users (kevinb) has graciously set up an IRC channel for users of SafiServer/SafiWorkshop. The channel is: #safiserver on Freenode.Net. You can use your favorite IRC client or click here for the web chat access. We will try to be in the channel as often as we can.

-Eric

More Entries

Support Safi Systems

Recent Entries
No recent entries.
Calendar
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
twitter Feed
Seems as if S3 is down (what we use for downloads)... until it comes back up, try googlecode: [link]
SafiServer/SafiWorkshop Version 1.3 (RC1) now available: [link] Many bug fixes and server service mode in Linux
SafiSystems Blog Post: SafiServer 1.3.0 And What We've Been Working On [link]
We're in the running for an Eclipse Technology Award! ... for Best Open Source Developer Tool [link]
hitting up the safi systems weekend work session ... hopefully well have the Linux 1.2.5 built and online today
[link] Software release 1.2.5 (SafiWorkshop and SafiServer) available for download
SafiSystems : Program Updates, Strings, and IRC [link]
home products wiki help screencasts tracker forum faq downloads about_us
© 2009 Safi Systems LLC - Copying, distribution or publication without express written permission is prohibited.
Subscribe to the Safi Systems blog