Asterisk - Alcatel A4400 over H323

Ok.

I’ve been trying to get an Asterisk pbx to work with an Alcatel A4400 R4.2-d2.304-4-ab-mt-c5s2 over H323 for quite some time now.

I have made progress in the sens that I am managing to make a call from an asterisk SIP extension to an Alcatel extension and the alcatel phone actually rings and gets CLI from Asterisk. When the call is answered on the alcatel phone the alcatel phone reports an out of service tone and hangs up while the asterisk extension keeps ringing seeming to be unaware that the call has failed.

From various research & tests I have made I am thinking that the most plausible explanation for this problem is a Codec issue. Now our A4400 supports G723 codec. I have found limited resources for on the www for G723 support for ooh323 (installed on my asterisk server). I have even installed evaluation version of Intel IPP and the G723 codecs to no avail.

Has anyone tried this? Can it work where am I going wrong. I might

Below is a trace of such a call from the IP board of the A4400:

mtracer started …


| (585157:011139) Physical-Event :
| long: 63 desti: 0 source: 0 cryst: 0 cpl: 15 us: 0 term: 0 type a5
| tei: 0 >>>> message received : SETUP [05] Call ref : 00 2a
| SENDING COMPLETE
|______________________________________________________________________________
|
| IE:[04] BEARER_CAPABILITY (l=3) 80 90 a3
| IE:[18] CHANNEL (l=1) a3 -> T2 : Any B channel
| IE:[28] DISPLAY (l=15) Tonio Lombardi
| IE:[6c] CALLING_NUMBER (l=6) -> 01 a1 Num : 6004
| IE:[70] CALLED_NUMBER (l=5) -> 81 Num : 3342
| IE:[7d] HLC (l=2) 91 81
|______________________________________________________________________________


| (585157:011141) 90: Send_IO1 (link-nbr=15, sapi=0, tei=0) :
| long: 33 desti: 0 source: 15 cryst: 0 cpl: 15 us: 8 term: 0 type a5
| tei: 0 <<<< message sent : CALL PROC (02) Call ref : 80 2a
|______________________________________________________________________________
|
| [9f] Non-locking shift. codeset : 7
| IE:[06] EI_IP_PAYLOADS (l=1) -> G723 Ece 1 Vad 1
| [9f] Non-locking shift. codeset : 7
| IE:[07] EI_IP_QOS (l=3) 00 e0 00
| IE:[18] CHANNEL (l=3) a9 83 83 -> T2 : B channel 3 exclusive
|______________________________________________________________________________


| (585157:011142) 90: Send_IO1 (link-nbr=15, sapi=0, tei=0) :
| long: 18 desti: 0 source: 15 cryst: 0 cpl: 15 us: 8 term: 0 type a5
| tei: 0 <<<< message sent : ALERT (01) Call ref : 80 2a
|______________________________________________________________________________


| (585185:011143) 90: Send_IO1 (link-nbr=15, sapi=0, tei=0) :
| long: 37 desti: 0 source: 15 cryst: 0 cpl: 15 us: 8 term: 0 type a5
| tei: 0 <<<< message sent : CONNECT (07) Call ref : 80 2a
|______________________________________________________________________________
|
| [9f] Non-locking shift. codeset : 7
| IE:[06] EI_IP_PAYLOADS (l=1) -> G723 Ece 1 Vad 1
| IE:[29] DATE (l=5) -> date : 31 / 08 / 06 11:00
| IE:[4c] CONNECTED_NUMBER (l=6) -> 01 81 Num : 3342
|______________________________________________________________________________


| (585186:011144) Physical-Event :
| long: 22 desti: 0 source: 0 cryst: 0 cpl: 15 us: 0 term: 0 type a5
| tei: 0 >>>> message received : RELEASE [4d] Call ref : 00 2a
|______________________________________________________________________________
|
| IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING
|______________________________________________________________________________


| (585186:011145) 90: Send_IO1 (link-nbr=15, sapi=0, tei=0) :
| long: 22 desti: 0 source: 15 cryst: 0 cpl: 15 us: 8 term: 0 type a5
| tei: 0 <<<< message sent : REL COMP [5a] Call ref : 80 2a
|______________________________________________________________________________
|
| IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING
|______________________________________________________________________________


Below is my ooh323.conf file

; Objective System’s H323 Configuration example for Asterisk
; ooh323c driver configuration
;
; [general] section defines global parameters
;
; This is followed by profiles which can be of three types - user/peer/friend
; Name of the user profile should match with the h323id of the user device.
; For peer/friend profiles, host ip address must be provided as “dynamic” is
; not supported as of now.
;
; Syntax for specifying a H323 device in extensions.conf is
; For Registered peers/friends profiles:
; OOH323/name where name is the name of the peer/friend profile.
;
; For unregistered H.323 phones:
; OOH323/ip[:port] OR if gk is used OOH323/alias where alias can be any H323
; alias
;
; For dialing into another asterisk peer at a specific exten
; OOH323/exten/peer OR OOH323/exten@ip
;
; Domain name resolution is not yet supported.
;
; When a H.323 user calls into asterisk, his H323ID is matched with the profile
; name and context is determined to route the call
;
; The channel driver will register all global aliases and aliases defined in
; peer profiles with the gatekeeper, if one exists. So, that when someone
; outside our pbx (non-user) calls an extension, gatekeeper will route that
; call to our asterisk box, from where it will be routed as per dial plan.

[general]
;Define the asetrisk server h323 endpoint

;The port asterisk should listen for incoming H323 connections.
;Default - 1720
;port=1720

;The dotted IP address asterisk should listen on for incoming H323
;connections
;Default - tries to find out local ip address on it’s own
bindaddr=0.0.0.0

;This parameter indicates whether channel driver should register with
;gatekeeper as a gateway or an endpoint.
;Default - no
;gateway=no

;Whether asterisk should use fast-start and tunneling for H323 connections.
;Default - yes
faststart=no
h245tunneling=no

;H323-ID to be used for asterisk server
;Default - Asterisk PBX
h323id=ObjSysAsterisk
e164=100

;CallerID to use for calls
;Default - Same as h323id
callerid=asterisk

;Whether this asterisk server will use gatekeeper.
;Default - DISABLE
;gatekeeper = DISCOVER
;gatekeeper = a.b.c.d
gatekeeper = DISABLE

;Location for H323 log file
;Default - /var/log/asterisk/h323_log
logfile=/var/log/asterisk/h323_log

;Following values apply to all users/peers/friends defined below, unless
;overridden within their client definition

;Sets default context all clients will be placed in.
;Default - default
context=default

;Sets rtptimeout for all clients, unless overridden
;Default - 60 seconds
;rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity
; when we’re not on hold
rtptimeout=3

;Type of Service
;Default - none (lowdelay, thoughput, reliability, mincost, none)
;tos=lowdelay

;amaflags = default

;The account code used by default for all clients.
;accountcode=h3230101

;The codecs to be used for all clients.Only ulaw and gsm supported as of now.
;Default - ulaw
; ONLY ulaw, gsm, g729 and g7231 supported as of now
disallow=all ;Note order of disallow/allow is important.
allow=g723.1

; dtmf mode to be used by default for all clients. Supports rfc2833, q931keypad
; h245alphanumeric, h245signal.
;Default - rfc 2833
dtmfmode=rfc2833

; User/peer/friend definitions:
; User config options Peer config options
; ------------------ -------------------
; context
; disallow disallow
; allow allow
; accountcode accountcode
; amaflags amaflags
; dtmfmode dtmfmode
; rtptimeout ip
; port
; h323id
; email
; url
; e164
; rtptimeout

;

;Define users here
;Section header is extension
[myuser1]
type=user
context=context1
disallow=all
allow=g711

[A4400-1]
type=peer
context=context2
ip=10.16.248.7 ; UPDATE with appropriate ip address
port=1720 ; UPDATE with appropriate port
e164=101
disallow=all
allow=g723.1

[A4400-2]
type=peer
context=context2
ip=10.16.248.6 ; UPDATE with appropriate ip address
port=1720 ; UPDATE with appropriate port
e164=101
disallow=all
allow=g723.1

[myfriend1]
type=friend
context=default
ip=10.0.0.82 ; UPDATE with appropriate ip address
port=1820 ; UPDATE with appropriate
disallow=all
e164=12345
rtptimeout=60
dtmfmode=rfc2833

Hello,

Have you solved the problem?

If not, can you do a tracer on the ip board in Alcatel?

You must be loged in as mtch, and you must issue the following commands:

cpl_online CrysNo CplNo (corresponding to your LIOE/INTIP board)

Under the prompt LIOE: (or INTIP:)

trace (and validate by ENTER)

h245cc (and validate by ENTER)

Then a menu asking for which traces to be activated is displayed, answer by:

4 5 6 (and validate by ENTER)

Then make a call bettwen Asterisk and Alcatel and copy/paste the results here.

Waiting for your answer.

Regards,
Mircea.

Another ideea. If you think it is a codec issue, why don’t you use g711? You can use on both equipments.

Also, are you sure that on asterisk you have:

allow=g723.1

and not

allow=g7231

I think it is the last version.

ok. I managed to get this to work. It was a codec issue downloaded and installed the g279 and g723 codecs from asterisk.hosting.lv/ and calls from our Alcatel A4400 to the asterisk box worked fine immidiately. What I can’t figure out is how to make a call from the asterisk box to the A4400. The problem is outgoing call routing on the asterisk box. In the GUI of the asterisknow there is no way to create a custom H323 trunk. I guess you have to do it manually in the conf files which I did with no success. Calls to the A4400 keep trying to use IAX when hasiax setting is set to no for the trunk. Below is an extract of the extensions.conf and users.conf

users.conf

[trunk_3]
disallow=all
allow=g729
allow=g723
callerid=asteriskH323
contact=
context=default
dialformat=OOH323/$OUTNUM$@10.16.248.7:1720
group=1
hash323=yes
hasexten=no
hasiax=no
hassip=no
host=dynamic
trunkname=MFSSH323
trunkstyle=custom

extensions.conf

exten=_3XXX,1,Macro(trunkdial,${trunk_3}/${EXTEN:1})
comment=_3XXX,1,3H323,standard

When trying to make a call to the destination the asterisk CLI reports the following:

– Executing [3342@numberplan-custom-1:1] Macro(“SIP/6002-08209150”, “trunkdial|IAX2/trunk_3/342”) in new stack
– Executing [s@macro-trunkdial:1] Dial(“SIP/6002-08209150”, “IAX2/trunk_3/342”) in new stack
[Aug 3 11:13:59] WARNING[21287]: chan_iax2.c:2615 create_addr: No such host: trunk_3
[Aug 3 11:13:59] WARNING[21287]: app_dial.c:1090 dial_exec_full: Unable to create channel of type ‘IAX2’ (cause 3 - No route to destination)
== Everyone is busy/congested at this time (1:0/0/1)
– Executing [s@macro-trunkdial:2] Goto(“SIP/6002-08209150”, “s-CHANUNAVAIL|1”) in new stack
– Goto (macro-trunkdial,s-CHANUNAVAIL,1)
– Executing [s-CHANUNAVAIL@macro-trunkdial:1] NoOp(“SIP/6002-08209150”, “”) in new stack
== Auto fallthrough, channel ‘SIP/6002-08209150’ status is ‘CHANUNAVAIL’

Does anyone know why this is happening, how to configure the files for such calls or if there is an update to allow you to enter the config in the GUI of asterisk now???

Thanks

Tonio