Summary:ASTERISK-01625: None ring back - h323.
Reporter:smmerf (smmerf)Labels:
Date Opened:2004-05-14 19:06:52Date Closed:2008-01-15 14:54:53.000-0600
Versions:Frequency of
Description:When we make call from client h323 -> GW h323 like cisco
26xx via h323 -> Asterisk -> SIP UA, then client h323 dont
receive ring back, even in extension.conf is by Dial(...|r).
Why, becouse asterisk when we calling then asterisk send
only information on 5060 - "180  Ringing" - and next h323
dont know that is H.225 Call Proceeding. Asterisk must
sending "183  Session Progress" then h323 will know about H.
225 Call Proceeding.

When we doing call like this:
client h323 -> GW h323 like cisco -> first asterisk -> second asterisk -> SIP UA
then all is fine, and ring back is ok by client h323.

Problem is only when we doing call from H323 to SIP !
From Client SIP -> asterisk -> H323 GW -> Client h323 ALL IS












Comments:By: smmerf (smmerf) 2004-05-14 19:18:55

driver: chan_h323
ver: Asterisk CVS-HEAD-05/15/04-00:28:21

By: jerjer (jerjer) 2004-05-15 01:02:20

To be clear...are you talking about an inbound H.323 call from an endpoint? Then Asterisk makes an outbound SIP call?

By: smmerf (smmerf) 2004-05-15 04:00:49

yes. inbound h323 outbound by sip. you are right.

edited on: 05-15-04 09:46

By: jerjer (jerjer) 2004-05-16 03:13:10

cvs update...tell me if this fixed the problem

By: smmerf (smmerf) 2004-05-16 06:44:04

I`ll try fix tomorrow. I give You answer about it. For now - many thanks JJ.

By: smmerf (smmerf) 2004-05-17 09:36:25

#make update and install: Errors compile chan_h323.c

chan_h323.c: In function `oh323_indicate':
chan_h323.c:600: error: syntax error before '<<' token
chan_h323.c:607: error: syntax error before '==' token
chan_h323.c:596: warning: unused variable `p'
chan_h323.c: At top level:
chan_h323.c:617: error: syntax error before '(' token
chan_h323.c:625: error: syntax error before '(' token
make[1]: *** [chan_h323.o] Error 1
make[1]: Leaving directory `/usr/src/asterisk/channels'
make: *** [subdirs] Error 1

By: smmerf (smmerf) 2004-05-17 10:03:30

I do update again. Now is good. Still none ring back into client h323:

1)port 1720 - h323 GW to asterisk

TCP 11505 > 1720 [SYN] ...
TCP 1720 > 11505 [SYN, ACK] ...
TCP 11505 > 1720 [ACK] ...
Q.931 SETUP[Short Frame]
TCP 1720 > 11505 [ACK] ...
TCP 11505 > 1720 [ACK] ...
TCP 1720 > 11505 [ACK] ...
H.225.0 CS: callProceeding
H.225.0 CS: alerting OpenLogicalChannel
TCP 11505 > 1720 [ACK] ...
H.245 CS: empty TerminalCapabilitySet

2)port 5060 - asterisk to end point sip.

Request: INVITE sip: ....
Status: 100 Trying
Status: 180 Ringing
Request: CANCEL
Status: 487 Request Terminated

By: smmerf (smmerf) 2004-05-18 09:28:36

Hallo JJ,
Problem is the same with protocol SIP.


client h323 doing call to -> h323/SIP GW (Cisco) -> asterisk by SIP [ inbound, outbound SIP] -> SIP UA

the same is none ring.

Why ? becouse when SIP UA receive invite, he answer "180 Ringing" to Asterisk,
then Asterisk dont translate this to "183 Session Progress" !, only repeat event "180 Ringing" to Cisco Gateway.

By: Paul Cadach (pcadach) 2004-05-19 12:35:05

H.323's "CALL PROCEEDING" message is equal to SIP's "180 Ringing", while H.323's "PROGRESS" looks like "183 Session Progress" for SIP. ISDN network designed to not open voice path until remote party is answered the call, so all call progress tones must be generated locally by calling endpoint. Also, H.323/ISDN have "Progress" information element to indicate that remote (or intermediate) party wants to bring up reverse voice path to bypass some informational voice messages (phrases like "Called number is not exists").

So, I think this is not a bug, but regular ISDN-compliant interworking.

By: smmerf (smmerf) 2004-05-19 20:49:44

Dear PCadach,

You have absolutely right ! :) Its normaly conversation between two points.
But not now. Look this:

1) Plan A:Outgoing

we doing call from SIP UA -> (SIP asterisk h323) -> Cisco H323 -> PSTN
see h225 what doing:

- Q.931 SETUP[Short Frame]
- H.225.0 CS: callProceeding OpenLogicalChannel

(waiting for respond from PSTN)

- H.225.0 CS: progress
- H.225.0 CS: alerting

in this moment chan translate this information to SIP, and sending information
to SIP UA 183 Session Progress and then we hearing ring back. Right.

2) Plan B:Incoming

PSTN -> Cisco H323 -> (H323 Asterisk SIP) -> SIP UA

see h225 what doing:

Q.931 SETUP[Short Frame]
H.225.0 CS: callProceeding
H.225.0 CS: alerting OpenLogicalChannel

(thats all)

in the same time chan translate this to SIP 180 Ringing, but asterisk dont
know what doing next. Asterisk dont send any information to Cisco, and cisco
dont doing progress and dont resending this to PSTN.

I hope I hope Am i right.

We must doing somethink like that, send to remote GW information from asterisk:
H.225.0 CS: progress (by SIP 183 Session Progress)

Solution with Cisco progress_indication setup 1 or 3 is ok, but only
between h323 > asterisk > H323 ... or somethink like that.

If im wrong, please correct me.

By: Paul Cadach (pcadach) 2004-05-19 22:49:29

For incoming call alerting message should be generated by remote end-point, in your case - SIP UA. If SIP UA answerts to INVITE with "180 Ringing" then it WILL NOT provide any information in-band. So, noone will pass any PROGRESS message (or ALERTING with PI=8) to PSTN.

But if you received SETUP packet from PSTN with PI=3 (i.e. call not end-to-end ISDN) Asterisk MUST provide ringback tones independedly on how remote endpoint it does (i.e. if remote endpoint allows to generate progress tones in-band, than one must be used, otherwise PSTN part must listen tones generated by Asterisk internally). As I know generating and analyzing of progress indicator field is not supported by now at chan_h323.

By: jerjer (jerjer) 2004-05-19 23:05:52

> As I know generating and
> analyzing of progress indicator field is not supported by now at chan_h323.

What needs to be done to support this?
Can you supply a diff -u?

By: smmerf (smmerf) 2004-05-19 23:09:30

Dear PCadach,

Many thanks for more information, about this.

 As you know my SIP-UA only respond "180". So the best solution
 to resolve all problems will be set PI=3 in Cisco and doing add source
 in to chanh323 :)

 thx again. :)

By: Mark Spencer (markster) 2004-05-20 02:39:11

So is this resolved now?

By: jerjer (jerjer) 2004-05-20 02:41:14

it will when cvs lets me commit

By: jerjer (jerjer) 2004-05-20 02:58:54

fixed in cvs.

By: sdolloff (sdolloff) 2004-06-08 12:01:21

Reminder sent to JerJer

Since you cannot use progress_ind on Cisco gateways running SIP this issue is not resolved.  Since upgrading to the latest CVS, ISDN callers do not hear ringback.  I am using an AS5350 communicating via SIP to asterisk.  I have tried using both the tone ringback alert-no-PI in the pots dial-peer and voice call send-alert to no avail.  

By: Digium Subversion (svnbot) 2008-01-15 14:54:53.000-0600

Repository: asterisk
Revision: 2976

U   trunk/channels/chan_h323.c

r2976 | jeremy | 2008-01-15 14:54:53 -0600 (Tue, 15 Jan 2008) | 2 lines

try to enable ringback on H.323->SIP calls (bug ASTERISK-1625) and clean up code a lil bit