Categories
Knowledge Base Technical

Q931 Clear Cause definitions

This provides definitions to the Clear causes in Q931 messages.

Normal class
Cause #1 “unallocated (unassigned) number”
This cause indicates that the destination requested by the calling user cannot be reached
because, although the number is in a valid format, it is not currently assigned (allocated).

Cause #2 “no route to specified transit network”
This cause indicates that the equipment sending this cause has received a request to route
the call through a particular transit network which it does not recognise. The equipment
sending this cause does not recognise the transit network either because the transit network does not exist or because that particular transit network, while it does exist, does not service the equipment which is sending this cause.

This cause is supported on a network-dependent basis.

Cause #3 “no route to destination”
This cause indicates that the called user cannot be reached because the network through
which the call has been routed does not serve the destination desired.
This cause is supported on a network-dependent basis.

Cause #6 “channel unacceptable”
This cause indicates the channel most recently identified is not acceptable to the sending
entity for use in this call.

Cause #7 “call awarded and being delivered in an established channeP’
This cause indicates that the user has been awarded the incoming call, and that the incoming call is being connected to a channel already established to that user for similar calls (e.g. packet-mode X.25 virtual calls).

Cause #16 “normal call clearing”
This cause indicates that the call is being cleared because one of the users involved in the
call has requested that the call be cleared.
Under normal situations, the source of this cause is not the network.

Cause #17 “user busy”
This cause is used when the called user has indicated the inability to accept another call.
It is noted that the user equipment is compatible with the call.

Cause #18 “no user responding”
This cause is used when a user does not respond to a call establishment message with
either an alerting or connect indication within the prescribed period of time allocated
(defined in ETS 300 102-1 by the expiry of either timer T3 03 or T3 10).

Cause #19 “no answer from user (user alerted)”
This cause is used when a user has provided an alerting indication but has not provided a
connect indication within a prescribed period of time.
NOTE:This cause is not necessarily generated by ETS 300 102-1 procedures but may be
generated by internal network timers.

Cause #21 “call rejected”
This cause indicates that the equipment sending this cause does not wish to accept this
call, although it could have accepted the call because the equipment sending this cause is
neither busy nor incompatible.

Cause #22 “number changed”
This cause is returned to a calling user when the called party number indicated by the
calling user is no longer assigned. The new called party number may optionally be included in the diagnostic field. If a network does not support this capability, cause #1 “unallocated (unassigned) number” shall be used.

Cause #27 “destination out of order”
This cause indicates that the destination indicated by the user cannot be reached because
the interface to the destination is not functioning correctly. The term “not functioning
correctly” indicates that a signalling message was unable to be delivered to the remote user; e.g. a physical layer or data link layer failure at the remote user, user equipment off-line, etc.
Cause #29 “facility rejected”
This cause is returned when a facility requested by the user cannot be provided by
the network.

Cause #30 “response to status enquiry”
This cause is included in the STATUS message when the reason for generating the
STATUS message was the prior receipt of a STATUS ENQUIRY message.

Cause #31 “normal, unspecified”
This cause is used to report a normal event only when no other cause in the normal class
applies.
Resource unavailable class

Cause #34 “no circuit/channel available”
This cause indicates that there is no appropriate circuit/channel presently available to handle
the call.

Cause #38 “network out of order”
This cause indicates that the network is not functioning correctly and that the condition is
likely to last a relatively long period of time; e.g. immediately re-attempting the call is not
likely to be successful.

Cause #41 “temporary failure”
This cause indicates that the network is not functioning correctly and that the condition is not likely to last a long period of time; e.g. the user may wish to try another call attempt almost immediately.

Cause #42 “switching equipment congestion”
This cause indicates that the switching equipment generating this cause is experiencing a
period of high traffic.

Cause #43 “access information discarded”
This cause indicates that the network could not deliver access information to the remote
user as requested; i.e. a user-to-user information, low layer compatibility, high layer
compatibility, or subaddress as indicated in the diagnostic.
It is noted that the particular type of access information discarded is optionally included in
the diagnostic.

Cause #44 “requested circuit/channel not available”
This cause is returned when the circuit or channel indicated by the requesting entity cannot
be provided by the other side of the interface.

Cause #47 “resource unavailable, unspecified”
This cause is used to report a resource unavailable event only when no other cause in the
resource unavailable class applies.
Service or option not available class

Cause #49 “quality of service not available”
This cause is used to report that the requested quality of service, as defined in CCITT
Recommendation X.213, cannot be provided, (e.g. throughput or transit delay cannot be
supported).

Cause #50 “requested facility not subscribed”
This cause indicates that the requested supplementary service could not be provided by the network because the user has not completed the necessary administrative arrangements with its supporting network.

Cause #57 “bearer capability not authorised”
This cause indicates that the user has requested a bearer capability which is implemented
by the equipment which generated this cause but the user is not authorised to use.

Cause #58 “bearer capability not presently available”
This cause indicates that he user has requested a bearer capability which is implemented by the equipment which generated this cause but which is not available at this time.

Cause #63 “service or option not available “unspeciried”
This cause is used to report a service or option not available event only when no other
cause in the service or option not available class applies. Service or option not implemented class

Cause #65 “bearer capability not implemented”
This cause indicates that the equipment sending this cause does not support the bearer
capability requested.

Cause #66 “channel type not implemented”
This cause indicates that the equipment sending this cause does not support the channel
type requested.

Cause #69 “requested facility not implemented”
This cause indicates that the equipment sending this cause does not support the requested
supplementary service.

Cause #70 “only restricted digital information bearer capability is available”
This cause indicates that one equipment has requested an unrestricted bearer service but
that the equipment sending this cause only supports the restricted version of the requested
bearer capability.

Cause #79 “service or option not implemented, unspecified”

This cause is used to report a service or option not implemented event only when no other
cause in the service or option not implemented class applies.
Invalid message (e.g. parameter out of range) class

Cause #81 “invalid call reference value”
This cause indicates that the equipment sending this cause has received a message with a
call reference which is not currently in use on the usernetwork interface.

Cause #82 9dentified channel does not exist”
This cause indicates that the equipment sending this cause has received a request to use a
channel not activated on the interface for a call. For example, if a user has subscribed to
those channels on a primary rate interface numbered from 1 to 12 and the user equipment
or the network attempts to use channels 13 through 23, this cause is generated.

Cause #83 “a suspended call exists, but this call identity does noV
This cause indicates that a call resume has been attempted with a call identity which differs from that in use for any presently suspended call(s).

Cause #84 “call identity in use”
This cause indicates that the network has received a call suspend request. The call suspend
request contained a call identity (including the null call identity) which is already in use for a suspended call within the domain of interfaces over which the call might be resumed.

Cause #85 “no call suspended”
This cause indicates that the network has received a call resume request. The call resume
request contained a Call identity information element which presently does not indicate any
suspended call within the domain of interfaces over which calls may be resumed.

Cause #86 “call having the requested call identity has been cleared”
This cause indicates that the network has received a call resume request. The call resume
request contained a Call identity information element which once indicated a suspended
call; however, that suspended call was cleared while suspended (either by network timeout
or by the remote user).

Cause #88 “incompatible destination”
This cause indicates that the equipment sending this cause has received a request to
establish a call which has low layer compatibility, high layer compatibility, or other
compatibility attributes (e.g. data rate) which cannot be accommodated.

Cause #90 “destination address missing or incomplete” This cause indicates that he
called user cannot be reached because the called party number is not in a valid format or is
not complete.

Cause #91 “invalid transit network selection”
This cause indicates that a transit network identification was received which is of an
incorrect format as defined in Annex C.

Cause #95 “invalid message, unspecified”
This cause is used to report an invalid message event only when no other cause in the
invalid message class applies.
Protocol error (e.g. unknown message) class

Cause #96 “mandatory information element is missing”
This cause indicates that the equipment sending this cause has received a message which
is missing an information element which must be present in the message before that
message can be processed.

Cause “97 “message type non-existent or not implemented”
This cause indicates that the equipment sending this cause has received a message with a
message type it does not recognise either because this is a message not defined or defined
but not implemented by the equipment sending this cause.

Cause #98 “message not compatible with call state or messages type
non-existent or not implemented”
This cause indicates that the equipment sending this cause has received a message such
that the procedures do not indicate that this is a permissible message to receive while in the call state, or a STATUS message was received indicating an incompatible call state.

Cause #99 “information element non-existent or not implemented”
This cause indicates that the equipment sending this cause has received a message which
includes information elements not recognised because the information element identifier is not defined or it is defined but not implemented by the equipment sending the cause.
However, the information element is not required to be present in the message in order for
the equipment sending the cause to process the message.

Cause #100 “invalid information element contents”
This cause indicates that the equipment sending this cause has received an information
element which it has implemented; however, one or more of the fields in the information
element are coded in such a way which has not been implemented by the equipment
sending this cause.

Cause #101 “message not compatible with call state”
This cause indicates that a message has been received which is incompatible with the call
state.

Cause #111 “protocol error, unspecified”
This cause is used to report a protocol error event only when no other cause in the protocol
error class applies.Interworking class

Cause #127 interworking, unspecified”
This cause indicates that there has been interworking with a network which does not provide causes for actions it takes; thus, the precise cause for a message which is being sent cannot be ascertained.

Categories
Asterisk Support Elastix Support Knowledge Base Technical

Running a Macro on answer for Asterisk queues.

asteriskThe Asterisk Queue application has an option that will run a macro on answer, This can be very useful when integrating with CRM such as Capsule or call centre applications.

This option isnt included in freepbx, Though this can be hand coded it isn’t best to do this when using Elastix, AsteriskNoW or any other freepbx based system.

To add this option We have written a couple of patched versions of the relevant freepbx pages that can be downloaded here , You will also need to add a extra field to the mysql database as follows

  1. Log in to mysql:   mysql -u root -p
  2. Enter password
  3. mysql> use asterisk
  4. mysql> ALTER TABLE `queues_config` ADD `qmacro` VARCHAR( 255 ) NULL;
  5. mysql> describe queues_config;

You should now have something like this:- | qmacro | varchar(255) | YES | | NULL | | as the last line of the table.

Now download the tar file and unpack it. then copy the two files to the /var/www/html/admin/modules/queues directory.

On loading the queue page in freepbx you will now have the “Queue macro on answer” box

queuemacro

In this box you put the macro name you wish to run when a member answers a call.

For example:-

[macro-logit]
exten => s,1,Noop( capsule crm intergration ${crminfo} ${CALLERID(all)})
exten => s,n,Set(foo=${CURL(http://127.0.0.1/directory/capsual.php?strCallid=${crminfo})})
exten => s,n,Noop(${foo})
exten => s,n,Hangup()

This a simple dialplan that runs a php script to log calls to the capsule crm

capsual.php

<?php
$today = date(“F j, Y, g:i a”);
$duedate1 = date(“Y-m-d”);
$duedate2 = date(“H:i:s”);
$Token = ‘YOUR CAPSUAL API CODE’;
$number = $_GET[‘strCallid’];
$datetime = $today;
$duedate = “$duedate1″.”T”.”$duedate2″.”Z”;
echo $duedate;
$myxml=”<?xml version=”1.0″ encoding=”UTF-8″?>n
<task>n
<description>Call recieved from $number at $datetime. Please update and assign this task if required</description>n
<dueDateTime>$duedate</dueDateTime>n
<category>incoming call</category>n
</task>”;
// The URL to connect with (note the /api/ that’s needed and note it’s person rather than party)
// SEE: http://capsulecrm.com/help/page/api_gettingstarted/
$capsulepage = “https://youraccount.capsulecrm.com/api/task”;
echo $capsulepage;
echo $number;
// Initialise the session and return a cURL handle to pass to other cURL functions.
$ch = curl_init($capsulepage);
// set appropriate options NB these are the minimum necessary to achieve a post with a useful response
// …can and should add more in a real application such as
// timeout CURLOPT_CONNECTTIMEOUT
// and useragent CURLOPT_USERAGENT
$options = array(CURLOPT_USERPWD => “$Token:x”,
CURLOPT_HTTPHEADER => array(‘Content-Type: application/xml’),
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $myxml
);
curl_setopt_array($ch, $options);
// Do the POST and collect the response for future printing etc then close the session
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);
echo $responseInfo;
echo $response;
?>

Have fun

 

Categories
Knowledge Base Technical

Flushing your sendmail queue.

Whenever sendmail has to deliver mails to other hosts which cannot be reached at that time, the messages are kept in the queue and are marked as “Deferred: Connection timed out”. Although the other hosts could be reached again and you want to tell sendmail to flush the mail queue, the command

sendmail -q -v

does not really try to reconnect to these hosts and still assumes that the connection timed out. The reason is that the hoststatus is cached, per default for a period of 30 minutes. Using

sendmail -OTimeout.hoststatus=0m -q -v

you can re-run the mail queue and force sendmail to reconnect to the hosts. You may want to define an alias for that, say, ‘sendmail-flush-timeouts’.

You can set further options in /etc/sendmail.cf.

Categories
Knowledge Base

ECO DECT mode on your Gigaset phone

Find out how to reduce the transmission power of your Gigaset phones and learn the benefits of enabling ECO DECT mode.

 

Find more Tutorials here: http://www.gigaset.com/tutoriallibrary
Or visit Gigaset on Facebook: http://www.facebook.com/gigaset

Categories
Knowledge Base

How to transfer the directory of your Gigaset phone

With your Gigaset phone you can easily transfer your directory as a vCard to an internal device or via Bluetooth to an external device.

Find more Tutorials here: http://www.gigaset.com/tutoriallibrary
Or visit Them on Facebook: http://www.facebook.com/gigaset

 

Categories
Knowledge Base

ETHERACCESS LA210

The unit is referred to as the Network Termination Equipment (NTE) or RAD box.

It is used to ‘bond’ the multiple lines that are used on an EFM connection into one circuit. There are RJ45 Network ports on the rear that allow you to plug your own equipment such as routers in.

Front View

The front of the LA-210 includes LED lights that can indicate the state of the unit and the connection.

LA210_front

Rear view

The LA-210 has 4 RJ-45 network ports that the you can plug your own router into.

LA210_rear

ls120led LED STATUS


Categories
Knowledge Base Support

Mitel SNMP Alarm monitoring

As part of our ongoing improvements to our Alarm and fault monitoring service we are now pleased to be able to offer proactive monitoring of the Mitel 3300ICP snmp alarm output.3300
This monitoring is proactive, meaning we check the system at regular intervals from our Nagios platform and will raise alarms on power failing as well as all mitel snmp alarm levels.

mitel alarm example

The alarm can be emailed or txt’d to single or group of addresses.

All that is required is fixed external hostname or IP address and port 161 or another random port forwarded to port 161 so we can connect and the snmp configuration on the Mitel system to allow our systems IP address to connect.

If you are interested in this service the standard charge £25 per site per year for more details please email or call us.

Categories
Knowledge Base Technical

Skype for SIP name to DDI with Asterisk

When using Skype for SIP trunks with Asterisk a simple an neat way to enable DDI calling for the skype names is to use the “extension” option.
This means that the ‘To’ in in the sip header is set to what you set.

This can then be picked out with a simple little bit of dialplan

exten => 99051000000000,1,Set(CALLERID(num)=${CALLERID(name)})
exten => 99051000000000,2,Set(cNum=${SIP_HEADER(TO):5:6})
exten => 99051000000000,3,Noop(${cNum})
exten => 99051000000000,4,Goto(from-pstn,${cNum}|1)

In the above example we have 6 digit ddi numbers in the context from-pstn.

Setting up the Skype end is as simple as logging into your BCP and then the relevent profile and clicking on the calling tab

and setting as below

Image

This lets you now use one account and have all your BCP accounts have DDI calls directed at the PBX

Categories
Knowledge Base

Installing Asterisk 11 on Centos 6.3

asteriskThis is a short video tutorial on the installation of Asterisk 11, I have included the blog and video in one place for ease of viewing

First, you will want to be sure that your server OS is up to date.

yum update -y

Disable SELinux by changing “enforcing” to “disabled” in /etc/selinux/config. Use a text editor or copy and paste this command.

sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

After you update and disable SELinux, you’ll need to reboot.

reboot

Next, you will want to resolve basic dependencies. (More information on Asterisk dependencies.)

yum install -y make wget openssl-devel ncurses-devel  newt-devel libxml2-devel kernel-devel gcc gcc-c++ sqlite-devel

Change into the /usr/src/ directory to store your source code.

cd /usr/src/

Download the source tarballs. These commands will get the current release of DAHDI 2.6, libpri 1.4 and Asterisk 11.

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

Extract the files from the tarballs.

tar zxvf dahdi-linux-complete*
tar zxvf libpri*
tar zxvf asterisk*

For the next set of commands it is important to follow the proper order: DAHDI first, then libpri, then Asterisk.

Install DAHDI.

cd /usr/src/dahdi-linux-complete*
make && make install && make config

Install libpri.

cd /usr/src/libpri*
make && make install

Change to the Asterisk directory.

cd /usr/src/asterisk*

In the next step, running the “configure” script will vary depending on whether your system is 32-bit or 64-bit. (Watch the video for more details.) When the menuselect command runs, select your options, then choose “Save and Exit” and the install will continue.

Use this command if you are installing Asterisk on 32bit CentOS.

./configure && make menuselect && make && make install

Use this command if you are installing Asterisk on 64bit CentOS.

./configure --libdir=/usr/lib64 && make menuselect && make && make install

Optional: If you ran into errors you will want to clean the install directory before recompiling.

make clean && make distclean

Once you have an error-free install, copy the sample files from the configs subdirectory into /etc/asterisk.

make samples

Then add the Asterisk start script to the /etc/init.d/ directory

make config

Start DAHDI.

service dahdi start

Start Asterisk.

service asterisk start

Connect to the Asterisk CLI.

asterisk -rvvv

And now you have Asterisk 11 running on CentOS 6!

Original Article written by Billy Chia @ digium

Categories
Elastix Support Knowledge Base

Setting up extensions in Elastix

Elastix Asterisk IPPXThis is a short video on the setting up of extensions on the Elastix Asterisk based IPPX.