Summary:ASTERISK-00623: [patch] Can't transfer calls from H.323 phone
Reporter:jmerlino (jmerlino)Labels:
Date Opened:2003-12-05 08:06:46.000-0600Date Closed:2011-06-07 14:10:07
Versions:Frequency of
Environment:Attachments:( 0) h323.diff
( 1) h323.diff
( 2) h323.diff
( 3) h323.diff
Description:When a call is transfered from a H.323 phone, Asterisk shows this message "unknown extension 'n' in context ' '".
It seems Asterisk does not know which is the correct context to look for the transfered number (I assume it should be the default context)


We changed the code in chan_h323.c so that it always looks for the transfer destination in the default context.
It is not a clean patch and it is only sent to show where the problem lies (or so we think).
Comments:By: Brian West (bkw918) 2003-12-05 13:59:18.000-0600

Please attach a unified diff (diff -u)

By: jmerlino (jmerlino) 2003-12-08 06:44:54.000-0600

Ok, here it is, the command I ran was:

cvs diff -uBb asterisk/channels/chan_h323.c > h323.diff

I added the Bb switches because we reindented the code.

By: jerjer (jerjer) 2003-12-08 23:02:56.000-0600

This patch doesn't make that much sense.  The transfer context should be the context defined in the H.323 type=user

By: jmerlino (jmerlino) 2003-12-09 06:06:24.000-0600

Yes you're right, the transfer context should be the one defined in the type=user as you say. The problem is that doesn't work righ now, in the line I changed the i->context was always an empty string.
As I said, this is not a clean patch, it works for me right now, but the right thing to do is to make it work the way you say. I haven't looked at the code deeply enough to know how to fix it but there must be some bug over there.

By: jmerlino (jmerlino) 2003-12-26 08:05:56.000-0600

Here I am with yet another patch. This one looks for the context in the oh323_user structure before making the transfer. I added an else statement in oh323_request and moved up the function find_user to have it defined before oh323_new.
I hope this solves the problem in a more correct way.

By: Brian West (bkw918) 2004-01-28 00:17:03.000-0600

please provide an upto date diff for this if possible.

By: jmerlino (jmerlino) 2004-01-28 09:18:18.000-0600

Here is the update you request.
I changed the code again because it had some bugs. This version works right for me  with my cvs version (about two or three weeks old), but I tried the transfers with asterisk 0.7.1 (with no patch) and the error was different so I don't know if the patch is still useful.

By: jmerlino (jmerlino) 2004-02-02 12:36:21.000-0600

I looked again in the 0.7.1 code and the patch surely does not work (it does not even compile) righ now because the code has changed in the chan_h323.c file.
I patched my running 0.7.1 in a similar fashion as my first patch... still brutal but at least I can transfer :)
I'll update my CVS code and see if I can make a better patch... again.

By: alric (alric) 2004-03-22 12:41:39.000-0600

Do you have any update on this, or did you attempt again?