Search:
     
3CX Phone System for Windows Download the Free Edition

STS Template Engine

Using the STS Template Engine to generate Asterisk configuration files

The STS Template Engine, developed by Sunrise Telephone Systems is a universal template engine for Cocoa featuring its own macro language for conditional template expansion. Although it can be used for any kind of template expansion requirement, it was developed for the purpose of generating Asterisk configuration files from templates.

The STS Template Engine is released under the GPL version 2 as Objective-C source code for embedding into Cocoa or GNUstep applications. A download link and detailed documentation is at this link is delete for SPAM to porno webs.

Overview


Methods provided

  • stringByExpandingTemplate:usingDictionary:errorsReturned:
  • stringByExpandingTemplate:withStartTag:andEndTag:usingDictionary:errorsReturned:
  • stringByExpandingTemplateAtPath:usingDictionary:encoding:errorsReturned:
  • stringByExpandingTemplateAtPath:withStartTag:andEndTag:usingDictionary:encoding:errorsReturned:

Macros supported

%IF, %IFNOT, %IFEQ, %IFNEQ, %IFDEF, %IFNDEF, %ELSIF, %ELSIFNOT, %ELSIFEQ, %ELSIFNEQ, %ELSIFDEF, %ELSIFNDEF, %ELSE, %ENDIF, %DEFINE, %UNDEF, %LOG, %ECHO and %DEBUG.

Predefined Placeholder Variables

_timestamp, _uniqueID, _hostname, _userCountryCode, _userLanguage, _systemCountryCode, _systemLanguage

Example template

%% Configuration template to generate X-Lite SIP profile for Asterisk
%% created 06-JUL-2005 by Sunrise Telephone Systems Ltd.
%% version 1.00
%%
%% The generated configlet must be included in /etc/asterisk/sip.conf
%%
%%
; THIS FILE HAS BEEN AUTOGENERATED %«_timestamp»
; DO NOT EDIT THIS FILE - MODIFICATIONS MAY BE OVERRIDDEN
;
;
[xlite] ; SIP profile for local X-Lite on %«_hostname»
port=5061
host=127.0.0.1
type=friend
qualify=no
reinvite=no
canreinvite=no
disallow=all
%IF allowUlaw
allow=ulaw
%ENDIF
%IF allowAlaw
allow=alaw
%ENDIF
%IF allowGSM
allow=gsm
%ENDIF
%IF allowILBC
allow=ilbc
%ENDIF
context=autocontext
callerid="%«username»"<%«callerid»>
;
%% END OF TEMPLATE

Example code

- (IBAction)createConfiglet:(id)sender {
       NSString *configlet;
       NSDictionary *userInput;
       NSArray *errorLog = [[NSArray alloc] init];
       
       // initialise the dicitionary with the user input
       userInput = [NSDictionary dictionaryWithObjectsAndKeys:
               [usernameField stringValue], @"username",
               [cidnumberField stringValue], @"callerid",
               [ringtimerField stringValue], @"ringtimer",
               [ulawCheckbox stringValue], @"allowUlaw",
               [alawCheckbox stringValue], @"allowAlaw",
               [gsmCheckbox stringValue], @"allowGSM",
               [ilbcCheckbox stringValue], @"allowILBC",
               nil];

       // expand the template to create the configlet
       configlet = [NSString stringByExpandingTemplateAtPath:
               @"/Library/Application Support/Asterisk/templates/xlite.template"
               usingDictionary:userInput
               encoding:NSUTF8StringEncoding
               errorsReturned:&errorLog];
       
       // etc

More Details

For a more detailed description please visit http://www.sunrisetel.net/software/devtools/STSTemplateEngine.shtml


See also


Created by: STS,Last modification on Wed 10 of Sep, 2008 [08:26 UTC] by admin


Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - support@voip-info.org

Page Changes | Comments

 





Search: