Date: Thu, 18 May 2000 10:16:30 +0100 From: "David Hedley" <david@inty.co.uk> To: <freebsd-isdn@freebsd.org> Subject: ISDN problem fixed.... Message-ID: <NEBBKDONLMHNHKCKHHAIKEMMCEAA.david@inty.net>
next in thread | raw e-mail | index | archive | help
I have succeeded in fixing the problem I was having with communicating between i4b and Telewest ISDN. The problem was the same as point 12 in the FAQ (and hence isn't Netherlands specific) The solution given in the FAQ is to supply the correct local phone number. However the problem is slightly more subtle than that. It would appear in cases like these that if the local calling party number _is_ specified, then it _must_ be correct, however if it _isn't_ specified then the exchange doesn't complain! A preferable solution in these cases is therefore to be able to disable sending of the local calling party information. The following patch (against the 3.4-RELEASE kernel) does this. If the local phone number is set to '*', then no calling party number is sent. The powers that be may wish to include this (or a similar patch) in a future release of the i4b code. Best wishes, David -- Dr David Hedley, Head of Development Intelligent Network Technology Ltd, Bristol, UK http://www.inty.net/ ---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<- --8<--- *** ../../../sys-orig/i4b/layer3/i4b_l2if.c Mon Nov 15 22:40:40 1999 --- i4b_l2if.c Thu May 18 09:44:02 2000 *************** *** 434,439 **** --- 434,441 ---- int slen = strlen(cd->src_telno); int dlen = strlen(cd->dst_telno); + if (*cd->src_telno == '*') slen = -3; + /* * there is one additional octet if cd->bprot == BPROT_NONE * NOTE: the selection of a bearer capability by a B L1 *************** *** 507,517 **** break; } ! *ptr++ = IEI_CALLINGPN; /* calling party no */ ! *ptr++ = IEI_CALLINGPN_LEN+slen;/* calling party no length */ ! *ptr++ = NUMBER_TYPEPLAN; /* type of number, number plan id */ ! strncpy(ptr, cd->src_telno, slen); ! ptr += slen; *ptr++ = IEI_CALLEDPN; /* called party no */ *ptr++ = IEI_CALLEDPN_LEN+dlen; /* called party no length */ --- 509,521 ---- break; } ! if (*cd->src_telno != '*') { ! *ptr++ = IEI_CALLINGPN; /* calling party no */ ! *ptr++ = IEI_CALLINGPN_LEN+slen;/* calling party no length */ ! *ptr++ = NUMBER_TYPEPLAN; /* type of number, number plan id */ ! strncpy(ptr, cd->src_telno, slen); ! ptr += slen; ! } *ptr++ = IEI_CALLEDPN; /* called party no */ *ptr++ = IEI_CALLEDPN_LEN+dlen; /* called party no length */ This email has been virus scanned using Sophos Anti-Virus by intY (www.inty.net) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?NEBBKDONLMHNHKCKHHAIKEMMCEAA.david>