Description

Chan_SCCP-[4.2.0_RC2] Generated by Doxygen 1.8.8 Wed Oct 8 2014 18:53:24 ii CONTENTS Contents 1 2 3 Chan_SCCP Documentation 1 1.1 1 What is Chan_SCCP 1 2.1 SCCP in relation to SIP/IAX/MGCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 SCCP as a Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Building and Installation Guide 2 3.1 UNIX, BSD and Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 3.2 Precompiled for your Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Building and Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.3 4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to Setup Chan_SCCP 3 4.1 How to use the config file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1.1 Sample config files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.2 How to load the Chan_SCCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3 How to use RealTime Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3.1 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4.3.2 MySQL 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.3 MySQL 5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.4 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 4.3.5 Chan_SCCP Configuration for Realtime . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3.6 Loading information into the tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.3.7 Using Realtime Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 4.4 Setting up a DHCP Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.5 What does a Sample SEP[MacAddr].cnf.xml Look Like . . . . . . . . . . . . . . . . . . . . . . . . 10 4.6 Dialplan Sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.6.1 How to Dial an SCCP Phone from your dialplan . . . . . . . . . . . . . . . . . . . . . . . 10 4.6.2 How to Dial an SCCP Phone with a different ring . . . . . . . . . . . . . . . . . . . . . . 10 4.6.3 Dial a line and have the phone Auto Answer . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.7 Hot to change the firmware to SCCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.8 Asterisk Clustering and DUNDi Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.8.1 DUNDI Dynamic Awareness (original author: J.R.Richardson) . . . . . . . . . . . . . . . . 12 4.8.2 DUNDI Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Troubles using VOIP and SCCP through a Firewall (NAT) . . . . . . . . . . . . . . . . . . . . . . 13 4.9 4.10 Shared Lines 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How To 5.1 Shared Lines 14 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.2.0_RC2] by Doxygen CONTENTS 6 7 8 9 iii 5.2 Phone Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.3 How to use Dynamic SpeedDials (now on by default) . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.4 How to use the hotline option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.5 How to use the adhoc option (PLAR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.6 Soft Keys Howto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.7 Softkey Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5.7.1 These are the softkeys available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5.8 Reload Howto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.9 How to use dialplan functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.9.1 SCCPDEVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.9.2 SCCPLINE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.9.3 SCCPCHANNEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.9.4 Generic CHANNEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.9.5 SCCPSetCodec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.9.6 SCCPSetCalledParty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.9.7 SCCPSetMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.10 How to use devicestate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.10.1 Custom Device State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.11 Digit timeout and dialing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 New Features in V4.1 22 6.1 New Config Parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.2 Emulated EnBloc Dialing for older devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.3 New SCCP Protocol Handler / Protocol Version . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.4 Rewritten RTP Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.5 Support for multiple asterisk version in one code base . . . . . . . . . . . . . . . . . . . . . . . . 23 Frequently Asked Questions 23 7.1 A. Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.1.1 A1. How to Compile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.1.2 A2. Compilation Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.2 B. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.3 C. Dialplan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.3.1 26 How to to use Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reporting Issues/Problems 26 8.1 Report Issues/Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.2 Generating a Debug Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.3 Generating a Backtrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Supported Operating Systems to date Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.2.0_RC2] by Doxygen 27 iv CONTENTS 9.1 Linux Based Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.2 BSD Based Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.3 Commercial Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 10 Sources Explained 28 11 Consulted Documentation 28 12 Information for Developers 29 12.1 You found a Bug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 12.2 Sending Feature Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 12.3 Send us a Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 12.4 Becoming a Developer in out Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 12.5 Get familiar and follow the sccp locking and refcounting rules . . . . . . . . . . . . . . . . . . . . 29 13 File Index 30 13.1 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 File Documentation 30 14.1 00_Index.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1.1 Detailed Description 30 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 14.2 10_What_Is_Chan_SCCP.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 14.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 14.3 20_Building_and_Installation_Guide.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . 31 14.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 14.4 30_Setup_Guide.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 14.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 14.5 35_How_To.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 14.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 14.6 40_New_Features.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 14.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.7 50_Frequently_Asked_Questions.doc File Reference 33 . . . . . . . . . . . . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 14.8 55_Reporting_Issues_Problems.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . 35 14.7.1 Detailed Description 14.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 14.9 60_Supported_Operating_Systems.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . 35 14.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 14.1070_Sources_Explained.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 14.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 14.1180_Consulted_Documentation.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . 37 14.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 14.1290_Developers_Guide.doc File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.2.0_RC2] by Doxygen . the change log. . . . . . . . . . . . . .0_RC2] by Doxygen . mailing lists and IRC channels for your use. interoperability and functionality than either chan_skinny or chan_sip on a SCCP/←Skinny capable phone. To read more about asterisk. .14LICENSE File Reference . . . • What is new in this version (V4/Trunk) • Frequently Asked Questions • Consulted Documentation • Supported Operating Systems / Notes • Reporting Problems / Issues • Developer’s Guide • Sources Explained • Meet the Authors • Developed under the GNU License SVN Change Log See http://sourceforge. .1 Detailed Description . scalability. . . . . . . . . . . . . . . . . . . . . . . 37 . To get started have a look at the pages: • What is Chan_SCCP • Building and Installation Guide • How to setup the chan_sccp Module • How to . . . . . and more. the project provides a web site. . .net/projects/chan-sccp-b/ for more information about the Chan_SC←CP project. . . . . . . . . .. . . . On these pages here. . . . you can find the documented source code. . . . . Please do not directly contact any of the maintainers of this project for assistance. . . .12. . . . . . . . . It delivers better performance. .1 Chan_SCCP Documentation 1 14. . . . . you can find a nice introduction here. . 38 14.1 39 Chan_SCCP Documentation Introduction Welcome to the documentation for the chan_sccp Project. .2. . . . . . . .. . . 38 14. It is still under heavy development but a stable release is also available for you to use. . . . .13AUTHORS File Reference Index 1 1. . . . . . . Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. . . . 2 What is Chan_SCCP Chan_SCCP is a replacement Channel Driver for chan_skinny in the Asterisk Channel Driver Library. . . . . . . 0_RC2] by Doxygen . The term "Skinny" reflects that SCCP is a simple and uncomplicated ("lightweight") protocol requiring relatively little computer processing. Inc. 3 Building and Installation Guide • Precompiled for your Platform • Prerequisites • Building and Installation • How to use the config file • How to load the Chan_SCCP • How to use RealTime Database • Setting up a DHCP Server • What does a Sample SEP[MacAddr]. with significant CPU and memory constraints. including BSD and Linux variants.1 CONTENTS SCCP in relation to SIP/IAX/MGCP There are several methods to communicate with a VOIP Server. Cisco IP Communicator softphone and the 802. 2.2 SCCP as a Protocol The Skinny Client Control Protocol (SCCP. SocketIP. Ixia.cnf.1 UNIX. The SCCP protocol layer supports connectionless and connection-oriented protocol services.323 terminal. or short Skinny) is a proprietary network terminal control protocol originally developed by Selsius Corporation. The SCCP Protocol is a lower level protocol when compared to for example SIP.2 2. It uses the Real-time Transport Protocol (RTP) over UDP-transport for the bearer traffic (real-time audio stream) with other Skinny clients or an H. The SCCP technology is now owned and defined by Cisco Systems.xml Look Like • Dialplan Sample • Hot to change the firmware to SCCP • Asterisk Clustering and DUNDi Lookup • Troubles using VOIP and SCCP through a Firewall (NAT) • Shared Lines 3. IAX. IAX2. The SCCP protocol is sometimes refered to as SKINNY. network management procedures at SCCP are independently treated for connectionless and for connection-oriented protocol services. BSD and Linux These instructions are valid for most UNIX-like operating systems. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. Examples of skinny clients include the Cisco 7900 series of IP phones.11b wireless Cisco 7920. IPBlue markets a software phone (soft phone) which uses SCCP for signaling and emulates a Cisco 7960 hardware phone. as a messaging system between a Skinny client and the Cisco CallManager. Symbol Techologies. Several VOIP Phone Resellers have create phones that use the SCCP Protocol.2. Skinny is a lightweight protocol which allows for efficient communication with Asterisk. The most well known at this moment is CISCO. It works on Layer 3/4 of the OSI Layer Model. that is. but there are others like Kirk. SS7 and SCCP. Next to the well known SIP Protocol there are Several others like: MGCP. Digium and Nokia. SCCP is a stimulus-based protocol and is designed as a communications protocol for hardware endpoints and other embedded systems. and network management procedures are carried out on a per protocol service basis. /tools/bootstrap.2 Precompiled for your Platform 3.6.2) – m4 (1.2 Precompiled for your Platform 3 On http://chan-sccp-b. • Extract the source tree to a clean directory.0_RC2] by Doxygen . please check before running configure $ .5) 3. • To get started with configure please run (run ".2.0) – automake (1.2. 4 How to Setup Chan_SCCP This contains detailed instructions about setting up chan_sccp.sourceforge.net/download. You can just at the specific repository file specific to your platform to your system and install chan-sccp-b from there. – The make program – autoconf (2./configure $ make $ make install For source code maintainers it is important to know that when you change something in one of the Makefile.am files or configure.1 Prerequisites The following prerequisites are required: • A bourne shell (/bin/sh) that is capable of running the supplied configure script.3.shtml you can find links to lot of precompiled versions of chan-sccp-b.10) – libtool (2.ac you should run . 3.4.2. • How to use the config file • How to use the config file • How to load the Chan_SCCP • How to use RealTime Database • Setting up a DHCP Server Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.3 Building and Installation Build instructions: • Download the Chan_SCCP sources./configure --help" to get a list of all the possible configure flags) • Some of the configure switches have changed during the latest development.sh before commiting to the repository. • Installed version of Asterisk starting at version 1.2 • Make sure you have the following installed on your system: – The GNU C compiler or another supported C compiler. When using hinted speeddials it is important to provide the necessary hints in your dialplan by simply adding something like "exten => 98021.0 port = 2000 Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. general definitions .1 Sample config files Make sure you pay attention to the CONTEXT used in the config file. For an untemplated version check-out . We have currently specified "sccp" as the default context.SCCP/98021" in the ’default’ context (or possibly "from-internal" for FreePBX users). (For more information about hints check How to to use Hints here) Sample Config File (Always use one from the conf direct as a starting point.M.2. or you can generate a config file with contrib/gen_sccpconf/gen_sccpconf) .cnf.1.0. This new config file uses standard asterisk templating to keep your config file shorter and easier to manager. You will have to use the same context when definining the speeddial button below.0_RC2] by Doxygen . Anything that generates a hint can be monitored using the buttons.0.hint. it must match your dialplan.conf for all possible sccp configuration parameters. You can also create these hints in a seperate context called hints for example [hints] exten => 98021. Also check the deny/permit entries to make sure they cover your network/devices and check if the bindaddr is actually reachable from the addresses you have permitted to connect./conf/sccp. 98021.. 98021@hints Monitoring non-SCCP devices is possible by reviewing the hint status in the Asterisk CLI using the "core show hints" command.conf 4. must match the context specified in the button definition) button = speeddial./conf/sccp_simple..Phone 2 Line 1. .xml Look Like • Dialplan Sample • Hot to change the firmware to SCCP • Asterisk Clustering and DUNDi Lookup • Troubles using VOIP and SCCP through a Firewall (NAT) • Shared Lines 4.1 How to use the config file Please check out . The following states are recognized: . ..========================================================================================= .hint. Custom state processing (see Asterisk documentation for more information) is also possible using this methodology.Y bindaddr = 0.========================================================================================= [general] servername = Asterisk keepalive = 60 debug = 1 context = default dateformat = D.SCCP/98021 That way you can refer to them in a button definition like (notice the context used to create hints in the dialplan. you will either have to add the sccp context to your dialplan in the correct locations or change the default sccp context to something that matches your dialplan.4 CONTENTS • What does a Sample SEP[MacAddr]. . . Add SpeedDial to Helpdesk button = line. context for hotline hotline_extension=111 .4. 98112@hints .0_RC2] by Doxygen .0.1 How to use the config file 5 disallow=all allow=alaw allow=ulaw allow=g729 firstdigittimeout = 16 digittimeout = 8 autoanswer_ring_time = 1 autoanswer_tone = 0x32 remotehangup_tone = 0x32 transfer_tone = 0 transfer_on_hangup = off callwaiting_tone = 0x2d musicclass=default language=en deny=0. Assign Line 98011 to Device and use this as default line button = empty .1.0.can devices without configuration register hotline_context=default .0 dndFeature = on sccp_tos = 0x68 sccp_cos = 4 audio_tos = 0xB8 audio_cos = 6 video_tos = 0x88 video_cos = 5 echocancel = on silencesuppression = off private = on callanswerorder=oldestfirst directed_pickup_modeanswer = on hotline_enabled=yes .========================================================================================= [SEP001122334455] description = Phone Number One addon = 7914 devicetype = 7940 park = off button = speeddial.0. 98112.168. 98021@hints .0 permit=192.========================================================================================= . 98021.0.255.255.5/255.0.0/255. Add SpeedDial to Phone Number Two Line 1 cfwdall = off type = device keepalive = 60 . actual definitions .default .0.255 dndFeature = on directrtp=off earlyrtp = progress private = on mwilamp = on mwioncall = off setvar=testvar=value cfwdall = on [98011] id = 1000 type = line Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.1.Helpdesk.tzoffset = +2 transfer = on park = on cfwdall = off cfwdbusy = off cfwdnoanswer = off directed_pickup = on directed_pickup_context = default directed_pickup_modeanswer = on deny=0. Assign an Empty Button button = line.2. 98011.0/0.168.255. Assign Line 98012 to Device button = speeddial.0 permit=192.0/0.0. 98012 .255.Phone 2 Line 1. extension will be dialed on offHook .0. 2.busy .Phone 1 Line 1. 98011@hints button = speeddial.Phone 1 Line 2.record calls using automon (asterisk >= 1.Record calls.callpresent . 98012. 98112 .amaflags = context = default incominglimit = 2 transfer = on vmnum = 600 meetme = on meetmeopts = qxd meetmenum = 700 trnsfvm = 1000 secondary_dialtone_digits = 9 secondary_dialtone_tone = 0x22 musicclass=default language=en echocancel = on silencesuppression = off setvar=testvar2=my value dnd = reject parkinglot = myparkspace [98012] id = 1001 type = line pin = 4356 label = Phone 1 Line 2 description = Line 98012 mailbox = 10012 cid_name = MY LINE 2 cid_num = 98012 accountcode=79002 callgroup=1.silent .3-4 pickupgroup=1.DND.Private Call.4-9 pickupgroup=1.set channel variable SKINNY_PRIVATE to 1 if feature is enabl button= feature.Helpdesk.3-9 echocancel = off context = default incominglimit = 2 transfer = on vmnum = 600 trnsfvm = 1000 secondary_dialtone_digits = 9 secondary_dialtone_tone = 0x22 musicclass=default language=en echocancel = on silencesuppression = off silencesuppression = on dnd = silent [SEP002244668800] description = Phone Number Two devicetype = 7960 park = off button = speeddial. Add SpeedDial to Helpdesk (without hint) button = line.call forward to *54.6 only) button= feature.DND Silent.*54 .set dnd status to busy button= feature.privacy.6 CONTENTS pin = 1234 label = Phone 1 Line 1 description = Line 98011 mailbox = 10011 cid_name = MY CID cid_num = 98011 accountcode=79011 callgroup=1.monitor .cfwdAll.0_RC2] by Doxygen .3-5 . 98021 button= feature.DND Busy.set dnd status to silent button= feature. 98012@hints Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.DND.forward all calls to *54 button = speeddial. 98011. 2 How to load the Chan_SCCP 7 type = device keepalive = 60 . is it conflicts with chan_sccp.1.conf.255.0/0.conf: noload => chan_skinny.so the skinny module is not allowed to be loaded.255.tzoffset = +2 transfer = on park = on cfwdall = off cfwdbusy = off cfwdnoanswer = off directed_pickup = on directed_pickup_context = default directed_pickup_modeanswer = on deny=0.0_RC2] by Doxygen . sccp_←simple. 4.3-5 context = default incominglimit = 2 transfer = on vmnum = 600 trnsfvm = 1000 secondary_dialtone_digits = 9 secondary_dialtone_tone = 0x22 musicclass=default language=en echocancel = on silencesuppression = off setvar=testvar2=my value For more config samples look in the conf directory in the root of the project.1 MySQL Asterisk setup Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.so load => chan_sccp.3 How to use RealTime Database 4.0.2 How to load the Chan_SCCP The chan_sccp module can be loaded using the following lines in asterisk module.3-4 pickupgroup=1.0 permit=192.0.conf configfile has to be available in the asterisk configuration directory.conf 4.4.168.255 dnd = on directrtp=off earlyrtp = progress private = on mwilamp = on mwioncall = off setvar=testvar=value cfwdall = on [98021] id = 1000 type = line pin = 1234 label = Phone 2 Line 1 description = Line 98021 mailbox = 10021 cid_name = MY CID cid_num = 98021 accountcode=79021 callgroup=1.0.conf and sccp_short. Here you will find sccp. A valid sccp.0.2.5/255.3. sock .sock may vary from system to system (please check) requirements=warn be left out . Needs to be specified since asterisk 1. cannot [asterisk] dbname = asterisk dbuser = asterisk dbpass = asterisk_password 4. Either use dbsock or dbhost/dbport combination. Either use dbsock or dbhost/dbport combination. dbsock is preferred when the database is on the local machine .8. The location of postgresql socket may vary from system to system (please check) Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.dbport = 3306 dbsock = /var/lib/mysql/mysql.4 PostgreSQL Asterisk setup [general] . Either use dbsock or dbhost/dbport combination.6 /etc/asterisk/res_mysql.dbhost=10. The location of mysql. .dbhost = 10.sql into your mysql 4. use general in extconfig. .13 .12.0 Read trunk/conf/mysql-v4.conf: [general] name .conf: [general] .12.3.8 CONTENTS Up till Asterisk 1.13 . dbsock is preferred when the database is on the local machine . here you have a seperate buttonconfig table mysql -p asterisk < conf/mysql-v5.2.3 MySQL 5. The location of mysql. .11.2 MySQL 4.0 Starting with mysql version 5.sql (To upgrade from a previous database version checkout trunk/conf/database_updates) 4.3.11.sql (To upgrade from a previous database version checkout trunk/conf/database_updates) 4.sock .13 . dbsock is preferred when the database is on the local machine .dbhost = 10.dbport=5432 dbsock = /tmp .12.0 database mysql -p asterisk < conf/mysql-v4.dbport = 3306 dbsock = /var/lib/mysql/mysql.sql.0 you can also use trunk/conf/mysql-v5.conf or /etc/asterisk/res_config_mysql.11.0_RC2] by Doxygen .sock may vary from system to system (please check) [asterisk] dbname = asterisk dbuser = asterisk dbpass = asterisk_password From Asterisk 10 and up /etc/asterisk/res_config_mysql.3.conf and the database . incominglimit.type."".echocancel.121.4.pin.vmnum.121.pickupmodeanswer."on".3-5".3.5 Chan_SCCP Configuration for Realtime Add the following lines to the sccp.88121.3.pickupexten.mailbox.options) VALUES("SEP010102030404". insert into buttonconfig (device. cannot [asterisk] dbname=asterisk dbuser=asterisk dbpass=password Buttons are configured in a seperate table called buttonconfig: postgresql asterisk < conf/postgresql.1.212."0x88"."friend "."on".options) VALUES("SEP010102030404".privacy.name."Line 121".instance. make use of the sccpdeviceconfig view instead of or for postgresql: [settings] sccpdevice => pgsql.label.3.cid_name.sccpline .sql 4.pickupgroup. datebasetable for devices ."line". datebasetable for lines /etc/asterisk/extconfig.121)."en".secondary_dialtone_tone.accountcode.tzoffset.options) VALUES("SEP010102030404". No need to unload/load the chan_sccp module."3-5". cid_num.10.sccplines for mysql v5: [settings] sccpdevice => mysql.trnsfvm.description.""."1."default".on."122").8.0_RC2] by Doxygen . name) values ("7975"."Line 121".asterisk."cfwdbusy ". insert into buttonconfig (device.description.0.setvar. 4.asterisk."0xB8". insert into buttonconfig (device. If you add a device to the sccpdevice table it will automatically be read during the device registration fase. Needs to be specified since asterisk 1.options) VALUES("SEP010102030404".instance.context.video_cos.mwilamp.89121.language.).sccplines 4.musicclass.2."dnd".instance.3 How to use RealTime Database requirements=warn be left out 9 ."on"."0x22". When you change any information in the database for a specific device which you want to reset to update it’s status.3.sccpdeviceconfig sccpdevice sccpline => mysql.121.sccpdevices sccpline => mysql.silencesuppression."feature".amaflags.asterisk.audio_tos.mwioncall.asterisk."speeddial".sccpdeviceconfig sccpline => pgsql.asterisk."SEP010102030404").secondary_dialtone_digits.asterisk. insert into sccplines (id.5. insert into buttonconfig (device.121.type."off".type."feature".6 Loading information into the tables Connect to the dabase insert into sccpdevices (type.2."on"."on". audio_cos.internal.video_tos.2.instance."full".7 Using Realtime Database Devices / Lines and Buttonconfigs are now loaded from the database.conf file devicetable=sccpdevice linetable=sccpline ."My Name"." busy")."122. You can use the standard asterisk realtime function to reload information Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. 6.name) VALUES(12 1.type.122@hints").transfer.4.name.callgroup."My 1st Phone".conf: for mysql v4: [settings] sccpdevice => mysql."outofband".name.name. xml file to a new SEP[macaddr].255.xml files. max-lease-time 172800. If you like you can make soft links/shortcuts to this file for every device you have in the form of SEP[macaddr].1.100. fixed-address 192.100.168.10 CONTENTS realtime load sccpdevice name SEP010102030404 or realtime load sccpline name 123 sccp reset SEP010102030404 or sccp restart SEP010102030404 4. subnet 192. option cisco-tftp 192.1 How to Dial an SCCP Phone from your dialplan Dial(SCCP/998.168.cnf.6.168.xml_797x conf/tftp/XM←LDefault.xml file and set the specific settings for this device. For devices with specific settings you can copy your XMLDefault.6.4 Setting up a DHCP Server dhcpd.100.cnf.2.128 192.100. } 4.0_RC2] by Doxygen . option routers 192.168.cnf.cnf. default-lease-time 86400. You can then copy the file to your tftpserver and rename the file to XMLDefault.2 How to Dial an SCCP Phone with a different ring Dial(SCCP/198/ringer=inside.6 Dialplan Sample 4. option domain-name-servers 192.cnf.120) ringer= values: • outside • inside • feature • silent • urgent Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.xml Look Like We have added a couple of example files in the directory conf/tftp conf/tftp/XMLDefault.xml_796x conf/tftp/XMLDefault.100.2.168. 4.xml_791x You can choose one of these files and adapt it to your network/devices.168.0 netmask 255.255. } host phone1 { hardware ethernet 00:0c:ce:3a:88:ca.cnf.2.cnf.cnf.200.conf: option cisco-tftp code 150 = array of ip-address.5 What does a Sample SEP[MacAddr].100.100.120) 4.0 { range 192.168.xml.100. It should containt only on line. like this: P00308010100 • Set the XMLDefault. MIC is ON • 1wb: 1way and reject cause: busy • 1wu: 1way and reject cause: unavailable • 1wc: 1way and reject cause: congestion • 2wb: 2way and reject cause: busy • 2wu: 2way and reject cause: unavailable • 2wc: 2way and reject cause: congestion 4.shtml • http://www.cnf.TXT.←- pdf • http://www. Extension(Number).2. Dial(ChannelType/Extension/Options/Timeout) Dial(SCCP/9291/aa=1w.3 Hot to change the firmware to SCCP 11 Dial a line and have the phone Auto Answer The Dial Command consist of the Channel type. It should look like this: <Default> <callManagerGroup> <members> <member priority="0"> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> </ports> <processNodeName>10. They can either be seperated by slash or comma.6.xml to should contain every used device and it firmware.cisco.7 4.150. MIC is oFF • 2w: 2ways. Options and Timeout.com/en/US/docs/voice_ip_comm/cucme/admin/configuration/guide/cmelab html Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.com/en/US/products/hw/phones/ps379/products_tech_←- note09186a0080094584.0_RC2] by Doxygen . 120) aa= values: • 1w: 1way.cisco.4.com/en/US/docs/voice_ip_comm/cucme/command/reference/cmeallht.7 Hot to change the firmware to SCCP • Copy the SCCP Firmware to your tftp directory • Set the Firmware version in OS79XX.8-5-2S</loadInformation6> <loadInformation124 model="Addon 7914">S00105000300</loadInformation124> <loadInformation9 model="IP Phone 7935"></loadInformation9> <loadInformation8 model="IP Phone 7940">P00308010100</loadInformation8> <loadInformation7 model="IP Phone 7960">P00308010100</loadInformation7> <loadInformation20000 model="IP Phone 7905"></loadInformation20000> <loadInformation30008 model="IP Phone 7902"></loadInformation30008> <loadInformation30007 model="IP Phone 7912"></loadInformation30007> </Default> For more information check out : • http://www.cisco.1</processNodeName> </callManager> </member> </members> </callManagerGroup> <loadInformation6 model="IP Phone 7910">SCCP11.31.8-5-2S</loadInformation6> <loadInformation6 model="IP Phone 7911">SCCP11. When a DUNDi lookup requests location information for extension 98011.conf [mappings] priv => sccpregistration.2 DUNDI Configuration In this example we will use IAX2 to make DUNDi Switch connections.Richardson) If regcontext is specified in sccp. we specify what [context] in extensions. in this example 98011 and 98012 register with your asterisk server1.8.conf which is common for all PBX servers. so please check the DUNDi documentation.conf.priv:${SECRET}@10.10.2. this PBX will reply "yes.←- pdf • http://www. 4.com/papers/dundi-intro. We use a simple context in iax.8 CONTENTS Asterisk Clustering and DUNDi Lookup DUNDi is a peer-to-peer system for locating Internet Gateways to telephony services. Example sccp.0_RC2] by Doxygen . =- [SCCP] [SCCP] This gives this PBX a dedicated context that we can map DUNDi lookup requests to. If the context is not specified in extension.0.8.conf because it will be created automatically as soon as the first line/extension registration occurs. a context of [sccpregistration] appears and the "show dialplan" command at the asterisk CLI> will produce: server1*CLI> dialplan show sccpregistration [ Context ’sccpregistration’ created by ’SCCP’ ] ’98011’ => 1.voip-info.12 4.conf we want to allow DUNDi request access to. the extension is active here and this is the contact address".R.pdf Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. then it will be dynamically created when an chan-sccp-b agent registers.10. We do not have to insert a [sccpregistration] in the extensions. like this: iax. There are a lot of ways to set this up. DUNDi is fully distributed with no centralized authority whatsoever.nopartial] For the rest of the DUNDi implementation in a clustered environment please check out: • http://atlaug.1/${NUMBER}. dundi.1 DUNDI Dynamic Awareness (original author: J.conf: [general] regcontext=sccpregistration Once the phones. 4. Noop(98099) -= 2 extensions (2 priorities) in 1 context. This is how the cluster sees any available SCCP Agents in the [sccpregistration] context on this PBX.conf: [priv] type=friend dbsecret=dundi/secret context=incomingdundi In the DUNDi [mappings] section.org/wiki/view/Asterisk+DUNDi+Call+Routing • http://leifmadsen. Noop(98011) ’98011@1’ => 1.IAX2.10. Unlike traditional centralized services (such as the remarkably simple and concise ENUM standard).conf chan-sccp-b will dynamically create and destroy a NoOp priority 1 extension for a given peer/line which registers with the server.com/stuff/Presentations/Astricon06/JR_Richardson_Whitepaper. snom. yet.org/wiki/view/STUN. • Use a STUN Server: http://www. both the ringing and the associated ringing feedback tone at the other end will stop as one would expect. the calling party will not hear the called party (one way audio) and the called party may not hear the calling party either (no audio). • Put Asterisk on the Firewall and make it the go-between / proxy. the way in which conventional VoIP protocols are designed is also posing a problem to VoIP traffic passing through NAT. At this moment in time we do not have a version for sccp. (For SCCP: set directrtp=off in your config).0_RC2] by Doxygen . At first. (But for SIP and H323 it works very well).html: Networks White Paper NAT Traversal for Multimedia over IP] Newport • [http://www. but it has no way of knowing that the audio traffic is related to the signalling and should hence be passed to the same device the signalling traffic is passed to. You can find more infomation about VOIP and NAT here • [http://www. However. RTP and sound ? In addition. Conventional VoIP protocols only deal with the signalling of a telephone connection. IAX can encapsulate RTP with its packets and therefor traverse NAT without any problems.pdf: Operating phones behind NAT] • [http://www.as done by the SIPatH Project] Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.org/html/draft-ietf-sipping-nat-scenarios-13 • Find and IAX2 provider instead of SIP. The NAT router may be able to handle the signalling traffic. the port on which the audio traffic is sent is random. See next point.com/whitepapers/FAQ-03-10-20-cs. for both the calling and the called party everything will appear just fine.pdf: White Paper: The SIP Protocol and Firewall Traversal] • [http://www.9 Troubles using VOIP and SCCP through a Firewall (NAT) 13 What is this NAT and why does this cause problems with VOIP.net/: Use a SIP. For example for iptables this plugin is called: nf_nat_sip. Yet.cisco. • Put a SIP-Proxy on the Firewall and reroute the packets. the audio traffic is not translated properly between the address spaces.e.←- ietf.eyeball. The issue of NAT Traversal is a major problem for the widespread deployment of VOIP. i.intertex. SIPProxd or RTPProxy. TURN and ICE] • [http://sipath. the issue is non-trivial and there are no simple solutions. The called party will see the calling party’s Caller ID and the telephone will ring while the calling party will hear a ringing feedback tone at the other end. • Use a Firewall Connection Tracking Plugin which records outgoing VOIP Connections and Maps there return RTP connections. When the called party picks up the telephone.ko.and RTP-Proxy combination on your NAT/Firewall/Router .se/upfiles/IntertexSIPWhitePaper.4. You could use for example : SER (Sip Express Router).sf.9 Troubles using VOIP and SCCP through a Firewall (NAT) 4.com/technology/whitepapers/EyeballAnyfirewallWhite←Paper. public ip-addresses for a your phone (not a solution) • Build a tunnel between the networks that need to communicate with each other. Other works arounds: • Use static ip-address on your phones and creates forwards in your firewall for the SCCP port and a block of RTP ports for this phone. In general terms there are two ways to deal with this problem: • Don’t use NAT.newport-networks. http://tools.voip-info.pdf: White Paper: NAT Traversal for VoIP and Internet Communications using STUN.2. As a result.com/warp/public/788/voip/voip-nat.ko or nf_nat_h323. The audio traffic is handled by another protocol and to make matters worse.html: VOIP traversal of N←AT and firewall] • [http://www.com/whitepapers/nat-traversal1. No NAT Required over the tunnel. 14 CONTENTS 4..0_RC2] by Doxygen . If you now create the relevant entries in your dialplan you can either call 900. 900@2:LivingRoom!silent . 5 How To • How to use Shared Lines on a device • How to set Phone Buttons on a device (softkeys) • How to use the Hotline option on a device • How to use the adhoc option on a line (PLAR) • How to use Dynamic SpeedDials • How to use the Soft Keys on the Phone • How to use Reload • How to use Dialplan Function • How to use device state • How does digit timeout and dialing work Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. this can be used when a secretary is supposed to handle all incoming calls on a shared line. Dial(SCCP/${extension}@${suffix})....conf. [SEP00000002] . 9002 using this example: _9XX =>{ Dial(SCCP/${EXTEN}).. 900@1:Kitchen . You can add a suffix or subscriptionId to the extension number to be able to call a specific device using "@" and if you like an extra callerid_name behind ":".. button = line. Set(suffix=${EXTEN:3:1}). Only when the extension including the suffix/subscriptionId is called will this line ring. To set up a shared line.2.. like this: [SEP00000001] .10 Shared Lines Shared lines are lines used by several devices at the same time providing easy handling of phone calls between them. To add a default suffix to a line (so all device using that line. }. _90XX =>{ Set(extension=${EXTEN:0:3}). button = line. 9001. you just define the same extension/line number on multiple devices. }. will also be accessible via the default suffix) you can add "defaultSubscriptionId_number = " to the line definition in sccp. Or even steal a line from another device using the Intercept button. You can for example hold a line on one device and use resume on another to pick the line up there.. When "silent" is added to the subscriptionId this line will not ring if the shared line is called. busy = Do-not-disturb. Now. default empty speeddial. registering multiple phones on the same line lead to an error that the line was already in use. "Record Calls". cfwdbusy.2. [option2] can be used to specify a hint by extension@context as usual.2 Phone Buttons We do not use the different autologin. no extra options required. 519 line. What happens is that all phones on a shared line "see" the calls of the other phones and vice versa. "busy" feature.number = Forward on busy – cfwnoaswer.6. callpresent feature.x only) – devstate. 5. "callforward busy".1 Shared Lines 15 Shared lines is simple. "Cantine". The syntax is button = <empty|line|speeddial|feature|service>[.6. without shared lines. 332@hints service. 521@02: Phone1!silent line. you simply get a shared line. option1[.hint = Make a private call.1 and up).callpresent = Make a private call.1 Shared Lines 5. privacy. just press "hold" on one phone and resume that call with "resume" on another phone.custom_devstate = Device State Feature Button (asterisk 1.number = Forward on no-answer (not implemented yet) – DND. That’s all. "www. 529 feature.0_RC2] by Doxygen . Currently Possible [option1]. return Busy signal to Caller – DND. • service: Adds a service url • Feature buttons have an on/off status represented on the device with a tick-box and can be used to set the device in a particular state. If you have a call on a shared line. "Asterisk". custom_devstate is the name of the custom devicestate to be toggled (How to use devicestate) – hold = To be implemented – transfer = To be implemented – multiblink = To be implemented – mobility = To be implemented – conference = To be implemented In a configuration file this could look like: button button button button button button button button button button button = = = = = = = = = = = line. "privacy callpresent".[option2] combinations: – privacy. name[. and is activated readily by registering multiple phones on the same line. 332. option2]]] buttons come in the following flavours: • empty: Empty button (no options) • line: Registers the line with identifier specified as [name] • speeddial: Adds a speeddial with label [name] and [option1] as number Optionally. "DND". 520@01: Phone1 line. return nothing to caller – monitor = Record Calls using AutoMon (asterisk 1. number is suppressed – privacy. speeddial options any longer.5.org" feature. "DND busy". instead trunk uses a unified scheme for adding buttons: Each button is added to the phone in the order as specified in the config file by specifying a "button" assignment. 522@03: Phone1. Earlier.number = Forward all calls – cfwbusy. hint is suppressed – cfwdall.asterisk.silent = Do-not-disturb. monitor For more information about hints check How to to use Hints here Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. where you want people to be able to only call one number. any device which is not included in the configuration explicitly will be allowed to registered as a guest device. In the latest version this feature is To use Normal SpeedDials(olod behaviour) instead of Dynamic SpeedDials you need to use a configure parameters during compilation . For example adding this to the line configuration: adhocNumber = 818 Will automatically dial 818 as soon as the Receiver is picked up or the new call button is pressed.hotline_enabled=yes . 5.5 How to use the adhoc option (PLAR) Adhoc Number or Private-line automatic ringdown (PLAR): Adhoc/PLAR circuits have statically configured endpoints and do not require the user dialing to connect calls. • The adhocNumber is dialed as soon as the Phone is taken off-hook or when the new-call button is pressed • The adhocNumber will not be dialed when choosing a line. For example: . No number has to be given. "DND".4 How to use the hotline option Setting the hotline Feature on a device. 5.6 Soft Keys Howto 5./configure --disable-speeddial –disable-dynamic-speeddial = Do not use any dynamic speeddial –disable-dynamic-speeddial-cid = Do not display the calledid information on the dynamic speeddial Dynamic SpeedDial is now switched on by default !!. If hotline_enabled = yes. or for unprovisioned phones to only be able to call the helpdesk to get their phone set up. The hotline function can be used in different circumstances. dialing 111 via context default. You can assign these softkeyset to a device using: softkeyset = name_of_softkeyset in the device section of the config. so when you choose a line you can enter a number manually. This works even on devices which have no entry in the config file or realtime database. for example at a door. All such devices will register on a single shared line called "hotline".3 CONTENTS How to use Dynamic SpeedDials (now on by default) Dynamic SpeedDials give additional information about the status of the lines assigned the speeddial. 5.7 Softkey Configuration You can create several softkeyset in you config for use on different devices.2. The Icon displayed changes to indicate "IDLE".0_RC2] by Doxygen . "IN USE" and "RINGING".hotline_extension=111 This will add a Hotline on all phones.hotline_context=default .16 5. (Softkey explanations / logo’s) for example: Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. will make it connect to a predefined extension as soon as the Receiver is picked up or the "New Call" Button is pressed. endcall.7.1.cfwdall.0_RC2] by Doxygen .7 How to use the Do Not Disturb (DND) Softkey Using the Do Not Disturb (DND) Button you set your device/line to the Do Not Disturb Status. Multiple softkey set can be created and attached to different devices.newcall.cfwdall.1. 5.select.confrn.1.7. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4..1 5.pickup. You can either type in the number to be called before or afterwards.idivert offhookfeat = redial.7.1.dirtrfr.7.idivert ringin = answer.endcall.1.7.7.newcall.cfwdbusy.barge The [mysoftkeyset] section about contains the state of the phone as the first part (before the equal sign) and the softbuttons shown during this state in the second part.2 How to use the NewCall Softkey Using the New Call Button you can initiate a new Call just like picking up the receiver.1.cfwdall.7.7.endcall.join ringout = endcall.1.endcall.endcall connconf = hold.1 These are the softkeys available How to use the Redial Softkey Using the Redial Button you can Redial the last Called Number on this Line or Device The last number called is stored in Asterisks local database (AstDB) before a module unload.cfwdall.6 How to use the End Call Softkey Using the End Call Button you can End the Call on the Current Line 5. When receiving a call your phone will not ring and the People Call You Will get a Busy Signal The status of DND is stored in Asterisks local database (AstDB).transfer.endcall. so the state of DND can be restored to previous setting on a module reload or restart of Asterisk.confrn.park.meetme.transfer.cfwdbusy.gpickup. so the state can be restored to previous setting on a module reload or restart of Asterisk.select. softkeyset = mysoftkeyset [mysoftkeyset] type=softkeyset onhook = redial.5 How to use the Transfer Softkey Using the Transfer Button you can Transfer the Currentline to another Number You can also use a speeddial during transfer 5.endcall onhint = pickup.5.7 Softkey Configuration 17 [SEP001122334455] devicetype=7960 .park.cfwdbusy digitsfoll = back.idivert onhold = resume.dirtrfr.idivert offhook = redial. 5.4 How to use the Resume Softkey Using the Resume Button you can resume a previously help line which has been put on hold using How to use the Hold Softkey 5.private.3 How to use the Hold Softkey Using the Hold Button you can hold the current line and undertake some other action You can later resume the held line use How to use the Resume Softkey 5..select.2. 5.cfwdall.endcall.transfer.barge conntrans = hold.dnd connected = hold. 1.1.10 How to use the select softkey The "Select" softkey is used for bridging two channels (redirect).13 How to use the Call Forward if Busy Button Using this Button you can set the current line / device to forward incoming calls when busy to another number This number can be another SCCP/SIP/IAX Device or even an external number (if permitted to call externally) The status of CallForward is stored in Asterisks local database (AstDB). 5. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.15 How to use the Park Button Using the Park Button make it possible to Send a Call to the Asterisk Parking Lot Channels parked in the Parking Lot can be Picked-Up by Another Phone Using the Pickup Button or the Pickup Number Configured in features. Select your first channel and press the select softkey.18 5. so the state can be restored to previous setting on a module reload or restart of Asterisk. 5.9 How to use the Answer Softkey Using the Answer Button you can Answer an Incoming Call 5.1.1.11 How to use the DirTrfr When two channels have been selected using the Select SoftKey (How to use the select softkey) then using the DirTrfr SoftKey can be used to Connect Both Lines to one another (bridging both channels).7. it is also marked with a checkmark and DirTrFr (How to use the DirTrfr) is enabled. It does not prevent the number turning up in Asterisk Logging or the Console Window. On the display this channel is marked with a checkmark. Press this key to bridge both channels.conf under pickupexten 5.7.2.16 How to use the Transfer Button Using the Transfer Button gives you the possibily to Transfer the Current Line to a New Number After pressing the Transfer button you are asked to Enter a New Number to which the Line will have to be transfered 5.1.1.17 How to use the Private Button Using the Private Button before dialing a New Outside Line will Prevent the Number dialed to be monitored by Devices that use a HINT.1.1.0_RC2] by Doxygen .7.7.7. so the state can be restored to previous setting on a module reload or restart of Asterisk.1. 5. By selecting the second channel.14 How to use the Call Forward if No-Answer Button Using this Button you can set the current line / device to forward incoming calls when you don’t/can’t answer to another number This number can be another SCCP/SIP/IAX Device or even an external number (if permitted to call externally) The status of CallForward is stored in Asterisks local database (AstDB).7.7.12 How to use the Call Forward All Button Using this Button you can set the current line / device to forward all incoming call to another number This number can be another SCCP/SIP/IAX Device or even an external number (if permitted to call externally) The status of CallForward is stored in Asterisks local database (AstDB).7.8 CONTENTS How to use the BackSpace (<<) Softkey Using the backspace (<<) Button you can erase the last entered digit/character 5. so the state can be restored to previous setting on a module reload or restart of Asterisk.7.7. 5. 5.1. Press the Conference Button and you will be asked for the 3 party number which need to be added to the conference.conf under pickupexten 5.21 How to use the Barge Button Using the Barge Button makes it possible to listen in on an On-Going Call on another Line / Device 5. once this line is connected. The new "sccp reload" function will be availble in from the CLI inside asterisk. once this line is connected. but would need to be reset.1. you press the Conference Button Again and the Conference Starts. There are two ways this can be done: Option 1: You Already have to Lines Occupied (One is active and the other Held).19 How to use the Conference List Button Using the Conference List Button shows you a list of members of the current conference you are in with the mute status. chan_sccp-b will reload the sccp.25 How to use the Group Pickup Button Using the GroupPickup Button Makes it possible to Pickup a Ringing Line in defined in your PickupGroup This is equivalent to using the keys defined in features. you press the Conference Button Again and the Conference Starts.1.22 How to use the Conference Barge Button Using the Barge Button makes it possible to listen in on an On-Going Conference on another Channel 5. There are two ways this can be done: Option 1: You Already have to Lines Occupied (One is active and the other Held). When run.8 Reload Howto When chan-sccp-b has been configured with the –with-dynamic-config during the build fase.7. When necessary phones will be sent a reset to make them reload their configuration.1.24 How to use the Pickup Button Using the Pickup Button Makes it possible to Pickup a Parked Call from the Parking Lot This is equivalent to using the keys defined in features.conf under pickupexten 5.23 How to use the Meetme Button Using the Conference Button makes it possible to set up a Simple Three Way Conference.7. If you are the moderator of this conference you have the ability to mute/unmute and kick members out of the conference.20 How to use the Join Button Using the Join Button makes it possible to Add another member/line to an already running Conference When you are in a conference and you receive an Incoming Call you can join this channel/line to the running Conference 5. When a phone is currently in used.conf file and update all it’s structures. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.7.1. which you would like to put in a Conference. which you would like to put in a Conference.2.7.1. See also sk_conference 5. 5.18 19 How to use the Conference Button Using the Conference Button makes it possible to set up a Simple Three Way Conference.7. 5.0_RC2] by Doxygen . Press the Conference Button and you will be asked for the 3 party number which need to be added to the conference.7. Simple Press the Conference Button Option 2: You have one line Occupied and would like to call Someone else and Join them all into a Conference.1. it will reset as soon as the current call is hungup.8 Reload Howto 5.1.7.1.5.7. Simple Press the Conference Button Option 2: You have one line Occupied and would like to call Someone else and Join them all into a Conference. Set(my_codecs=${SCCPDEVICE(current. allow_conference. 5.9.2. vmnum. cid_num. capability. pending_update. Set(my_id=${SCCPDEVICE(current. conf_play_part_announce. Set(my_codec_g792=${SCCPDEVICE(current. oldmsgs. Set(my_button_config=${SCCPDEVICE(current.9 CONTENTS How to use dialplan functions We have added new dialplan functions SCCPDEVICE SCCPDEVICE.9. amaflags. state. language. chanvar[varname] Within the dialplan you can use the function SCCPLINE to retrieve information about an SCCP Line like this: Set(my_line_name=${SCCPDEVICE(current. lines_registered. channel_count.9. conference_id. Set(other_line_id=${SCCPLINE(98011. supported_protocol_version used_protocol_version. Set(other_button_config=${SCCPDEVICE(SEP001122334455. incoming_limit. regexten. config←_type. 5. dynamic|realtime. "parent" or a line name assigned to the line. label. Use: core show functions SCCPDEVICE to find out all the options the first param can be either "current" or a device ID like "SEP????????????" the second param defines the information to be retrieved and can be on of these: ip. 5. trnsfvm. to put the information of a/the line in a dialplan variable. status. Set(my_line_devices=${SCCPLINE(current. pending_update. the second param defines the information to be retrieved and can be on of these: id. regcontext. mwi_light. SCCPSetCalledParty SCCPSetCalledParty and SCCPSetMessage SCC←PSetMessage to provide the ability to change chan_sccp behaviour while prosessing dialplan requests.codecs)}).description)}). conf_music_on_hold_←class.20 5.id)}). And SCCPSetCodec SCCPSetCodec. pending_delete.ip)}). Use: core show functions SCCPLINE to find out all the options the first param can be either "current". Set(my_line_descr=${SCCPLINE(current. to put the information of a/the device in a dialplan variable. last_number. pickupgroup.[option]).0_RC2] by Doxygen . SCCPLINE SCCPLINE and nf_sccp_←dialplan_sccpchannel SCCPCHANNEL to provide the ability to ask information about sccp device. early_rtp. name.3 SCCPCHANNEL Usage: SCCPCHANNEL([current|callid].name)}). dynamic|realtime. codec[codecname] Within the dialplan you can use the function SCCPDEVICE to retrieve information about an SCCP Device like this: Set(my_ip=${SCCPDEVICE(current. sccp lines and sccp channels. accessory_status. accountcode. musicclass.button_config)}).id)}). newmsgs. conf_mute_on_entry. Set(parent_line_id=${SCCPLINE(parent. id. registration_state codecs. tz_offset. conf_play_←general_announce.codec[g792])}).devices)}). description. callgroup. Set(other_line_devices=${SCCPLINE(98011. pending_delete. num_lines. Use: core show functions SCCPCHANNEL to find out all the options Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. active_channel. channel_count. image_version.2 SCCPLINE Usage: SCCPLINE([current|parent|linename]. lines_count. meetme. description. chanvar[varname].devices)}). cid_name. meetmeopts. transfer_channel. skinny_type. allow_conference.id)}). current_line button_config. meetmenum. lines. adhoc_number. context.[option]). "parent" refers to the line who forwarded the call to you and is only filled if this channel has been forwarded.1 SCCPDEVICE Usage: SCCPDEVICE([deviceId|current].button_config)}).[option]). line)}). When calling this you must provide a valid SCCP Channel. lastRedirecting←PartyName lastRedirectingPartyNumber.capability)}). to put the information of the/a channel in a dialplan variable.5 SCCPSetCodec Usage: SCCPSetCodec(codec) Sets the preferred codec for dialing out with the next DIAL statemnet using an sccp channel.4 Generic CHANNEL Generic Dialplan Cmd CHANNEL information provided when used with an SCCP channel. SCCPSetCodec(codec) is now deprecated in favour of generic channel method ’Set(CHANNEL(codec)=alaw)’.5. device. capability. callingPartyNumber originalCalling←PartyName.6 SCCPSetCalledParty Usage: SCCPSetCalledParty("name" <ext>) Sets the name and number of the called party before using the DIAL statement. Set(my_channel_device=${SCCPCHANNEL(current. Set(my_channel_capability=${SCCPCHANNEL(current. dialed_number. line. Possible Options: • recvip: Current IP-Addres of the Connection to the Phone • peerip: Real IP-Address of the Phone in question (Could be different if the phone is on a Natted Connection) • from: device type • useragent: device name (a. answered←_elsewhere.callid)}). calledPartyNumber. originalCalledPartyName. originalCalledPartyNumber. privacy. passthrupartyid. Set(my_channel_line=${SCCPCHANNEL(current.a SEP00123456789) Dialplan function to manipulate sccp channels and dial commands are: 5. format.dialed_number)}). Set(my_channel_called=${SCCPCHANNEL(current. calltype. recvip. callingPartyName. state.9. So check if the channel is of type SCCP before calling this function ! Within the dialplan you can use the function SCCPCHANNEL to retrieve information about an SCCP channel like this: Set(my_channel_callid=${SCCPCHANNEL(current.0_RC2] by Doxygen .k.9 How to use dialplan functions 21 the first param can be either "current" or a callid assigned to the channel. the second param defines the information to be retrieved and can be on of these: callid.9. cgpnVoiceMailbox. previous_state. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. Set(my_channel_state=${SCCPCHANNEL(current. calledPartyName. 5. originalCallingPartyNumber. Set(my_channel_calltype=${SCCPCHANNEL(current.9. isCodecFix.callingPartyName)}).dialed_number)}). last←RedirectingVoiceMailbox. Set(my_channel_dialed_number=${SCCPCHANNEL(current. Set(my_channel_calling=${SCCPCHANNEL(current. peerip De carefull with SCCPCHANNEL.calltype)}). Please do not use SCCPSetCodec anymore. codecs.calledPartyName)}). parent. only usefull when dialing an SCCP Channel.2.device)}). cdpnVoiceMailbox.state)}). Previous function name SetCalledParty(codec) is now deprecated in favour of SCCPSetCalledParty. monitorEnabled. originalCdpnVoiceMailbox. 5. Set(other_channel_dialed_number=${SCCPCHANNEL(4. Usage: CHANNEL([option]). 0_RC2] by Doxygen . If the all fall withing the same pattern (about 100 milliseconds per digit) with a std-dev les then 3.10 How to use devicestate When chan-sccp-b is used with asterisk 1. Previous function name SetMessage(codec) is now deprecated in favour of SCCPSetMessage. and no other dialplan entries would match. 5. Coffee is Ready.1 • New Config Parser Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. and then pressing dial or picking up. you have the option to use configure directive –enabledevstate-feature.conf like so.NoOp(My phone state is currently ${DEVICE_STATE(SCCP/98011)}) 5.22 CONTENTS 5.2. coffee When you press this button the device state will go from NOT_INUSE to INUSE and back again You can then switch the feature devstate button on and of from the dialplan with exten => s.timeout]) Send a Message to the Calling Device (and remove after timeout. From the console(CLI) this can be handled via: devstate change Custom:coffee INUSE The new phones models with lighted buttons will nicely light up their buttons upon "INUSE". you will have a new custom device state which can be set and monitored button = feature. we calculate the standard deviatoin between the timing of the entered numbers.11 Digit timeout and dialing Dialing changes: • When entering the number with the receiver down. The following two rules still apply. the digittimout is halved. • Matching of number uses regcontext group specified in sccp. to be used by for example the Dialplan DEVICE_STATE function as such: exten => s.1 and up.10.1. dialing starts immediatly. devstate. if a full match is found. This will make chan-sccp-b report back the device_state back to asterisk.Set(DEVICE_STATE(Custom:coffee)=INUSE) To signal everyone that the coffee is ready.9. 5. 6 New Features in V4.5 we can assume the numbers are not entered by hand and emulate enbloc dialing and reduce the total digittimeout to 2000 milliseconds (2 secs after the last digit).7 SCCPSetMessage Usage: SCCPSetMessage(<message text> [. • If a full match is found in the dialplan.1 Custom Device State If you add a new devstate button to you sccp.6.1. if timeout is ommited will stay until next/empty message. You can read more about customer device states here.conf first. conf" In the contrib directory you will find gen_sccpconf. i. The new protocol handler always tries to use the highest possible sccp protocol version the device is capable of handling.conf file if you like.2 Emulated EnBloc Dialing for older devices Emulated Enbloc dialing has been added to make older phones react faster when dialing with the receiver down or pressing re-dial. you can find the answers to a few frequently asked questions.config in the beginning of the config file and issue "sccp reload" in CLI.c which allows you to generate several file types (conf / sql / xml). Faq. Compilation Compilation related issues.conf file will be loaded and you will get output per line about it status and interpretation. You can also reload with a different sccp. If you set debug = core. Bug Reporting have a look here: http://sourceforge. 6.conf and is extrapolated automatically when the device registers.3 New SCCP Protocol Handler / Protocol Version Protocol version does not have to be set anymore in sccp. "sccp reload sccp. For up to date Help. The individual buttonpresses are still send over the line in seperate tcp packets. 6.e.1 New Config Parser 23 • Emulated EnBloc Dialing for older devices • New SCCP Protocol Handler • Rewritten RTP Handling • Support for multiple asterisk version in one code base 6.net/projects/chan-sccp-b/support.2. we assume that the number was dialed before picking up the receive and start the call immediatly instead of waiting for more digits to arrive. The information is directly generated from the sccp sources and will therefor always produce a correct sample file. This negates the secundairy digit waiting.0_RC2] by Doxygen . The pbx specific code is handled by pbx_impl which should be seen as a singular/stable API for dealing with asterisk. 6.1 allows you to verify your sccp.1 multiple versions os Asterisk are supported on one code base. but when we recognize that the buttonpresses arrive in a monotonous stream with equidistant timing between the buttons.test. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.1 New Config Parser The new config parser in V4.1.4 Rewritten RTP Handling RTP handling and codec dissemination has been completely rewritten in V4.conf for use with chan-sccp-b. 7.5 Support for multiple asterisk version in one code base With V4. the sccp.1 A.6. 6. On the chan-sccp-b side the same code is used for any asterisk version. 7 Frequently Asked Questions Here. 0_RC2] by Doxygen ./make . You can also change the sccp.conf you can make the block of used rtp port smaller and forward this whole block of UDP ports to your asterisk box. To Read more about using . If you need any specific functionality. Q. Set earlyrtp=on.←amibehindnat. How to Compile Q: How to Compile chan_sccp-b A: We are using the standard autoconf/automake principle. or need to specify a location of for example your asterisk installatin you can use "\code. If you get errors trying to start configure. It will try and determine all the relevant dependecies and compile the application. Please include config. No audio when calling or being called A./configure.2. Set directrtp=off in your sccp. Compilation Errors Q: How to solve compilations errors A: First try to work out what . And try to describe you issue as exact as possible.conf / extenstions. If nothing helps.conf: externip and localnet In rtp. Troubleshooting Q.conf or realtime tables and try again. No DMTF during calls A. If you get errors trying to start configure. Read more here: Troubles using VOIP and SCCP through a Firewall (NAT) Troubles using VOIP and SCCP through a Firewall (NAT) Q. when it is.log when sending a bug about configure/make Q: How to solve compilations errors A: First try to work out what .com. How do i report an Issue or Problem i have A. first try to resolve it using "\code. send a message to our bug page via http://sourceforge.ael). Normally this comes down to the need for in-direct rtp traffic.2 A2. You can find detailed information about reporting problems/issues here: Reporting Issues/Problems. first try to resolve it 7.conf or realtime tables and give it another try./configure is complaining about. when it is./reconf\endcode"./configure is complaining about.1./make install To get everything install using the default values.1. I normally tries to be as explicit as possible.2 B.net/tracker/?group_←id=186378&amp.24 7. Q.1 CONTENTS A1. Please do set you debug levels according to the issue you have. You can check this via: http://www. Remember to set RFC2833 in any of the connecting channel drivers.conf context(s) to a context you already use in your dialplan (like default / from-internal-users). No DMTF at all A. Otherwise we have to wade through piles of uninformative messages to get to the correct location./configure . it will try and build a new configure application for your machine (autoconf.conf or realtime tables and try again. 7. Can’t dial-in or dial-out of an SCCP Phone A. Check the context which has been set in the sccp. Simple solution: Turn directrtp=off in you sccp. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. automake and m4 are required). Q./configure --help\endcode" to figure out the switches you need. progress or ringout in your sccp.atid=917045.conf or realtime tables. I normally tries to be as explicit as possible. read the INSTALL document in the root of this project directory. Please make sure you have a corresponding context in your dialplan (extensions. because there is a firewall between your phones which is performing Network Address Translations (NAT). This means the only thing you have to do to compile your application is run: . Also check your settings for sccp. 120) ringer= values: . • 1wb: 1way and reject cause: busy • 1wu: 1way and reject cause: unavailable • 1wc: 1way and reject cause: congestion • 2wb: 2way and reject cause: busy • 2wu: 2way and reject cause: unavailable • 2wc: 2way and reject cause: congestion Q: Get infomation about the SCCP device or line from the dialplan.silent .ip)}).3 C. SCCPLINE and SCCPCHANNEL functions. see How to use dialplan functions How to use dialplan functions Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.120) Q: How to Dial an SCCP Phone with a different ring A: Added ringer=inside to the dial statement Dial(SCCP/198/ringer=inside. A: use the SCCPDEVICE. example: Set(some_ip=${SCCPDEVICE(SEP001B54CA6543. Q: Dial a line and have the phone Auto Answer (Used for Paging for example) A: add the following to your dial statement to page lines 9291 and 9292 with one way audio Dial(SCCP/9291/aa=1w&SCCP/9292/aa=1w. to set the variable some_ip to the cidname of the device with Mac-Address 00:1B:54:CA:65:43. Dialplan 7. 120) aa= values: • 1w: 1way audio (MIC on other side is OFF).3 C.2.cidname)}).urgent .7. Dialplan Q: How do you dial an SCCP from your dialplan A: Use a dial statement like this Dial(SCCP/998.outside . to set the variable my_ip to the ip-address of the current device. • 2w: 2way audio (MIC on other side is ON).feature .0_RC2] by Doxygen 25 .inside . example: Set(my_ip=${SCCPDEVICE(current. please include the svn revision number. We will try and get back to you as soon as possible. • Asterisk Debug Report (see Generating a Debug Report section) • In case of registration errors. "Secretaries".conf like: button = speeddial. hint(SCCP/101&SCCP/102) _200 => NoOp(hint).ael (in AEL2 format): context hints { hint(SCCP/101) _101 => NoOp(hint). At least include the following information: • Operating System • Installed version of Asterisk • Installed version of chan_scpp. 200@hints 8 Reporting Issues/Problems Please read this section carefully before reporting any issues / problems 8.SCCP/101&SCCP/102 // Secretaties or extension. include the part of the dialplan in question. hint(SCCP/104) _104 => NoOp(hint).0_RC2] by Doxygen .3. 200. hint(SCCP/105) _105 => NoOp(hint).SCCP/102 103. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.hint.2.conf: [hints] exten exten exten exten exten exten => => => => => => 101.hint. Other users of chan_sccp are very welcome to answer any questions if they know the answer of course.hint. When using the trunk version. Once these hints have been configured you can use them in a speedial entry in your sccp.SCCP/104 105.hint.26 7.SCCP/101 102. When reporting issues/problems be patient. }.hint. also include the TFTP Files which are used by the device • In case of dialplan issues.SCCP/105 200.hint. which could look like: extension. And try to describe you problem/issue as acquarate as possible.SCCP/103 104.1 CONTENTS How to to use Hints Q: How to use Hints A: To use a hinted speeddial you will also need an hint entry in your dialplan. hint(SCCP/103) _103 => NoOp(hint).1 Report Issues/Problems When reporting problems / issues via the sourceforge mailinglist or bug/issue report pages please include as much information as possible. hint(SCCP/102) _102 => NoOp(hint). but time is sometimes scarce. • When done. 8. • Reproduce the error you encountered.8.event (or more or event all).channel. /tmp.conf. You can get a list of all debug categories when you type "sccp debug".3 Generating a Backtrace To generate a backtrace after asterisk produced a so called core dump • find the location of the core dump (current working directory. you might need to switch this on first in /etc/asterisk/asterisk. A less exact method is to cut and paste the information from CLI. stop asterisk • Attach the /var/log/asterisk/all (might be stored in a different location on your os) file to your error/issue report.2 Generating a Debug Report 8.2.2 Generating a Debug Report 27 To generate a debug report please take the following steps: • switch on the "all" section in logger. manually execute: gdb --batch --silent --quiet -ex "set height 0" -ex "set pagination off" -ex "bt" -ex "quit" /usr/sbin/ asterisk /tmp/core whereby you have to replace the paths to the asterisk executable and the core file. Try to match your problem area with one or more of the debug categories.conf or start asterisk with the -g option 9 Supported Operating Systems to date Status for various supported OSes ( Asterisk .0_RC2] by Doxygen .line.Chan_SCCP ) on different CPU’s (x86 / x86_64 / Sparc / Arm) Please tell us if you have succesfully installed / ported chan_sccp to you platform if it’s not in the list yet 9. • Restart Asterisk • In cli (asterisk -rvvvvvvvvvvv) enter: sccp debug device. /var/log/asterisk) • either use: – the contrib/generate_backtrace script – or. If asterisk did not dump a core file.1 Linux Based Operating Systems • OpenSuSE • Debian • Ubuntu / MintLinux • Fedora • RedHat • Centos • Embedded OS: – OpenWRT – Horstbox Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. asterisk.8/index.asterisk.0_RC2] by Doxygen .asterisk.2.org/wiki/display/AST/Asterisk+11+Documentation – https://wiki.8+Documentation – https://wiki.2 CONTENTS BSD Based Operating Systems • OpenBSD • FreeBSD • NetBSD 9.html Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.asterisk.2/index.asterisk.asterisk.org/community/documentation • https://wiki.org/1.asterisk.html – http://doxygen.org/1.org/wiki/display/AST/Roadmap – https://wiki.6.org/wiki/display/AST/Home – https://wiki.3 Commercial Operating Systems • IBM Aix • Oracle/Sun Solaris • Apple OS-X • HP-UX • HP Tru64 10 Sources Explained You will find some background information to the sources provided by us.org/trunk/index.asterisk.org/wiki/display/AST/Asterisk+10+Documentation – https://wiki.org/wiki/display/AST/Asterisk+1.28 9.asterisk.asterisk.org/wiki/display/AST/Configuration+and+Operation – http://doxygen. Please follow one of the following Links Sccp Config / Reload: • sccp_config Sccp Hint Handling: • hint_update Refcounting: • sccp_refcount 11 Consulted Documentation The following documents have been useful to us: • http://www.html – http://doxygen. 12. 12. Have a look here Send us a Patch and here Becoming a Developer in out Team.cisco.org/en/asterisk.stack.12 Information for Developers 29 • http://www. We’ll look into it and let you know what we think. regard.html • http://hisown. asterisk logging.shtml 12 Information for Developers On this page. Or you need something implemented and are willing to pay.1 You found a Bug You found a bug. why not give the sources a look over. Please give us a step by step procedure to reproduce the error.com/Talks/VoIP%20-%20Excerpt%20(SCCP).aosabook. When submitting patches or developing within the chan-sccp-b team.org/ • http://www. Read the documentation and start coding yourself.html • http://www. developers. You could even become a member of the development team if you like. documentors. Why not apply by contacting one of our Project Admin members (authors). Please include a description of your patch and if necessary how to apply it. Please try to describe the bug you found as clearly as possible.4 Becoming a Developer in out Team Our project can always use more testers.asteriskdocs.2.pdf • http://www.2 Sending Feature Requests You have a new Feature which you think would be a wonderfull addition to chan_sccp.0_RC2] by Doxygen . 12.javvin.3 Send us a Patch You found an error and fixed it or you wrote some new functionality ? Please submit a patch to: PatchList. You can’t wait until it is implemented.5 Get familiar and follow the sccp locking and refcounting rules Please check out the refcounted object types used by chan-sccp-b to see when and how the are used (see: sccp←_refcount). 12.nl/∼dimitri/doxygen/manual/index. please report it via : BugReport. Just send a Message via: MailingList. follow and obey by these refcount rules at all times: • sccp_refcount Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. like "sccp debug all" logging. people who want to contribute can find information.html • http://www. 12.com/en/US/products/hw/phones/ps379/products_tech_←- note09186a0080094584.com/protocolSCCP. protocol analyzer pcap files etc. project managers. Give us some thing to work with. 2.net Definition in file 00_Index.30 CONTENTS 13 File Index 13.2 10_What_Is_Chan_SCCP.doc.sourceforge.1 00_Index.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14. Version Revision 4721 Date $date$ Contains extra comments for Doxygen.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.0_RC2] by Doxygen .1. You could read the documentation from this file.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License. but it would probably be easier to go to http←- ://chan-sccp-b. 14.1 File List Here is a list of all files with brief descriptions: AUTHORS 38 LICENSE 38 14 File Documentation 14. You could read the documentation from this file. 14.2. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.3.3 20_Building_and_Installation_Guide.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License.sourceforge.0_RC2] by Doxygen .nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License.net Definition in file 10_What_Is_Chan_SCCP.14.1 31 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon. Version Revision 1369 Date $date$ Contains extra comments for Doxygen.2. but it would probably be easier to go to http←- ://chan-sccp-b.3 20_Building_and_Installation_Guide.doc.doc File Reference 14. but it would probably be easier to go to http←- ://chan-sccp-b.sourceforge.doc. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. 14.32 CONTENTS Version Revision 1369 Date $date$ Contains extra comments for Doxygen. but it would probably be easier to go to http←- ://chan-sccp-b. You could read the documentation from this file.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License.net Definition in file 20_Building_and_Installation_Guide.net Definition in file 30_Setup_Guide. Version Revision 1369 Date $date$ Contains extra comments for Doxygen.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.sourceforge.0_RC2] by Doxygen .2.4. You could read the documentation from this file.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14.doc.4 30_Setup_Guide. but it would probably be easier to go to http←- ://chan-sccp-b.doc File Reference SCCP New Feature Documentation.2. 14.5 35_How_To.1 Detailed Description SCCP New Feature Documentation.nl> Since 2009-11-12 Note This program is free software and may be modified and distributed under the terms of the GNU Public License.doc File Reference 33 SCCP New Feature Documentation.5 35_How_To.0_RC2] by Doxygen .doc File Reference 14.nl> Since 2009-11-12 Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. You could read the documentation from this file. 14.6. Author Diederik de Groot <dkgroot [at] talon.1 Detailed Description SCCP New Feature Documentation. Contains Documentation about Present Features. 14.sourceforge. Author Diederik de Groot <dkgroot [at] talon.doc.net Version Revision 4314 Date $date$ Definition in file 35_How_To.6 40_New_Features.5. Contains extra documentation about new Features.14. 2.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14.7.doc. but it would probably be easier to go to http←- ://chan-sccp-b.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.doc.sourceforge.7 50_Frequently_Asked_Questions. but it would probably be easier to go to http←- ://chan-sccp-b.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License. You could read the documentation from this file. Version Revision -1 Date $date$ Contains extra comments for Doxygen.sourceforge.net Definition in file 50_Frequently_Asked_Questions. You could read the documentation from this file. 14.net Version Revision 4337 Date $date$ Definition in file 40_New_Features.34 CONTENTS Note This program is free software and may be modified and distributed under the terms of the GNU Public License. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.0_RC2] by Doxygen . sourceforge.9.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.doc File Reference 35 An implementation of Skinny Client Control Protocol (SCCP) 14. but it would probably be easier to go to http←- ://chan-sccp-b.2.doc File Reference 14.0_RC2] by Doxygen .doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14.8 55_Reporting_Issues_Problems.doc.9 60_Supported_Operating_Systems. 14.nl> Since 2009-11-12 Main Documentation Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.net Definition in file 55_Reporting_Issues_Problems.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License. You could read the documentation from this file.8 55_Reporting_Issues_Problems.14. Version Revision -1 Date $date$ Contains extra comments for Doxygen.8. 2. You could read the documentation from this file.sourceforge.doc. 14.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.10.36 CONTENTS Note This program is free software and may be modified and distributed under the terms of the GNU Public License.0_RC2] by Doxygen . but it would probably be easier to go to http←- ://chan-sccp-b. Version Revision -1 Date $date$ Contains extra comments for Doxygen.sourceforge.10 70_Sources_Explained.net Definition in file 70_Sources_Explained. You could read the documentation from this file. Version Revision -1 Date $date$ Contains extra comments for Doxygen. but it would probably be easier to go to http←- ://chan-sccp-b.net Definition in file 60_Supported_Operating_Systems.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License. Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.doc. 1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.2.11 80_Consulted_Documentation.doc File Reference An implementation of Skinny Client Control Protocol (SCCP) 14. You could read the documentation from this file.14. but it would probably be easier to go to http←- ://chan-sccp-b.11 80_Consulted_Documentation.net Definition in file 80_Consulted_Documentation.12.doc File Reference 37 An implementation of Skinny Client Control Protocol (SCCP) 14.11.sourceforge.0_RC2] by Doxygen . Version Revision -1 Date $date$ Contains extra comments for Doxygen. 14.1 Detailed Description An implementation of Skinny Client Control Protocol (SCCP) Author Diederik de Groot <dkgroot [at] talon.12 90_Developers_Guide.doc File Reference 14.nl> Since 2009-11-12 Main Documentation Note This program is free software and may be modified and distributed under the terms of the GNU Public License.nl> Since 2009-11-12 Main Documentation Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4.doc. You could read the documentation from this file.14 LICENSE File Reference Generated on Wed Oct 8 2014 18:53:24 for Chan_SCCP-[4. Version Revision -1 Date $date$ Contains extra comments for Doxygen. 14.0_RC2] by Doxygen .doc.13 AUTHORS File Reference 14.sourceforge.38 CONTENTS Note This program is free software and may be modified and distributed under the terms of the GNU Public License. but it would probably be easier to go to http←- ://chan-sccp-b.net Definition in file 90_Developers_Guide.2. 33 40_New_Features.doc.doc.doc. 30 10_What_Is_Chan_SCCP.doc. 37 AUTHORS. 31 30_Setup_Guide.Index 00_Index.doc. 37 90_Developers_Guide. 36 80_Consulted_Documentation. 35 60_Supported_Operating_Systems.doc.doc. 32 35_How_To. 38 LICENSE.doc. 35 70_Sources_Explained.doc. 30 20_Building_and_Installation_Guide.doc. 34 55_Reporting_Issues_Problems.doc.doc. 38 . 33 50_Frequently_Asked_Questions.
Copyright © 2024 DOKUMEN.SITE Inc.