Summary:ASTERISK-00405: [patch] incominglimit fix for call waiting
Reporter:pliew (pliew)Labels:
Date Opened:2003-10-20 21:43:40Date Closed:2003-12-09 16:13:53.000-0600
Versions:Frequency of
Environment:Attachments:( 0) chan_sip.diff.4
( 1) chan_sip.diff.5
Description:existing incominglimit and outgoinglimit stops incominglimit only once and outgoinglimit never. This patch fixes it for me with both "Dial" and "Queue" commands. Put "incominglimit=1" for each UA that you need this to work for. ie no more call waiting for both incoming or outgoing calls. This patch was applied to the CVS of 10-20-03. This is my first patch - so will be sending my disclaimer via snail mail from Australia - which could take a week.
Comments:By: whaddock (whaddock) 2003-10-22 08:07:26

This patch is working!  I have applied this patch to the 10/21/03 version of CVS.  I have set the "incominglimit=1" in my sip.conf file. Here are snips from my config files:

exten => 0555,1,Dial(SIP/200&SIP/201&SIP/202&SIP/203&SIP/204,30,t)

[200] ; user1, Grandstream Phone

Walker Haddock, wh@datacrest.com

edited on: 10-28-03 08:03

edited on: 11-26-03 10:45

By: pliew (pliew) 2003-10-26 05:51:19.000-0600

added a new patch to work with CVS of 10/25 which stops transmission of the original invite to destination channel if already in use. There is one problem that I can't wrap my brain around - the incominglimit works well for me, however, when you park a call, and gets recalled on time-out, it sends the parked call to voicemail if you're on the phone - not the done thing - so need to thrash that out - I'm open to ideas ....

By: mdu113 (mdu113) 2003-10-29 13:48:31.000-0600

Thanks. Unfortunately your patch doesn't work reliably.
I specified incominiglimit=1 and placed a call to extension 12125551111.
Now I have:
pbx1*CLI> sip show inuse
Username        incoming        Limit           outgoing        Limit
12125550011     0               N/A             0               N/A
12125559999     0               N/A             0               N/A
12125552222     0               N/A             0               N/A
12125550029     0               N/A             0               N/A
12125550012     0               N/A             0               N/A
12125551111     1               1               0               N/A
12125550028     0               N/A             0               N/A
12125550014     0               N/A             0               N/A

I put it on hold and placed a few other calls. Then I see:
pbx1*CLI> sip show inuse
Username        incoming        Limit           outgoing        Limit
12125550011     0               N/A             0               N/A
12125559999     0               N/A             0               N/A
12125552222     0               N/A             0               N/A
12125550029     0               N/A             0               N/A
12125550012     0               N/A             0               N/A
12125551111     0               1               0               N/A
12125550028     0               N/A             0               N/A
12125550014     0               N/A             0               N/A

So it looses status of existing call somehow. Now callwaiting is
there again. It seems that the status is lost after calling chanisavail
application, although I'm not sure about that.
Also if I can make a suggestion it would be great not to have
incominglimit set statically per client, but have an application
to change it from dialplan (have no idea how hard it is to implement).
If there are other ways to check if the line is already in use or
turn on/off callwaiting on SIP clients, that would also be very
nice and desirable feature.


By: pliew (pliew) 2003-10-31 02:48:23.000-0600

Just a note for all - ChanIsAvail only works for Zap devices, and it actually decreases the inuse counter incorrectly causing the callwaiting block to fail. Avoid the use of ChanIsAvail for IP Phones.

By: yamez (yamez) 2003-11-11 12:46:15.000-0600

Is there any work to get a patch for this in cvs?

By: pliew (pliew) 2003-11-17 14:57:31.000-0600

I've put up a patch that works with the latest CVS and also fixes a problem with the GS phones, that seems to send a lot of pseudo invites when the flash key is pressed instead of the the transfer key when doing blind transfers.

By: Brian West (bkw918) 2003-11-22 13:59:15.000-0600

which diff is correct?  the last one?

By: pliew (pliew) 2003-11-22 15:38:46.000-0600

Yes, the last one "chan_sip.diff.4" is the latest one.

By: scaredycat (scaredycat) 2003-11-26 10:47:59.000-0600

has anyone got this working? Can we have it on IAX / IAX2 as well, including on trunking...


By: Brian West (bkw918) 2003-11-26 10:49:45.000-0600

I have been told by a few that this doesn't work.  Can anyone get it to work?

By: whaddock (whaddock) 2003-11-26 11:00:31.000-0600

I have this patch working very well at two clients.  The larger installation has 12 GS BT-102 phones and 2 Cisco 7960.  We are using the incominglimit=1 on the GS phones but not on the Cisco phones.  There was a problem that the GS phones were causing on the chan_sip.diff.2 where the incoming `inuse` count would get incremented to > than 1 but Paul fixed this in the chan_sip.diff.4 release.  I applied this on 11/17/2003 and I have not had any problems with this patch since.  The end user is very happy not to hear the very loud and obliterating call waiting message from the GS phones.  It would have been better for GS to fix this but lacking that, Paul has done a great service to the * users that have GS phones.  Walker.

By: Brian West (bkw918) 2003-11-26 14:31:45.000-0600

Fixed in CVS.

By: lambertpf (lambertpf) 2003-12-02 11:27:04.000-0600

Reminder sent to bkw918

Would you look at this bugnote and consider reopening your bug

By: Brian West (bkw918) 2003-12-02 11:28:22.000-0600


Can someone fix this?

By: pliew (pliew) 2003-12-02 14:33:28.000-0600

I'll start looking in to this today.

By: pliew (pliew) 2003-12-02 22:48:21.000-0600

Added the latest patch - chan_sip.diff.5. This fixes the inuse counter being incremented incorrectly, when a registered peer becomes unregistered before registration timeout. This was generated from CVS of 12/03/03. Please test.

By: lambertpf (lambertpf) 2003-12-04 01:46:44.000-0600

I've installed it and appears to be working. I'll test it more on a live system and give more feedback tomorrow.

By: zoa (zoa) 2003-12-04 03:41:34.000-0600

anyone willing to make something like this for iax2 ?

This would be great for load balancing !!!


By: pliew (pliew) 2003-12-05 14:22:11.000-0600

Azher, its "incominglimit" (with one m), when its set properly, the "sip show inuse" will show Limits as 1 instead of N/A.


By: apnaisp (apnaisp) 2003-12-06 02:05:31.000-0600

Thnx pliew, it was my mistake .... now its working perfectly for me ...


By: scaredycat (scaredycat) 2003-12-06 06:38:36.000-0600


I'm trying to work out why there appears to be no interest in doing iax/iax2 versions of this too... this should be a CORE feature of * ... when used with trunking it would make a HUGE difference, at the moment * will just keep allowing calls trashing all of them when the bandwidth usage is too high...


By: zoa (zoa) 2003-12-06 07:44:06.000-0600

Scaredycat: my point exactly... Also if cpu usage is too high.


By: Brian West (bkw918) 2003-12-08 22:48:44.000-0600

which is the correct patch?

By: pliew (pliew) 2003-12-08 23:38:53.000-0600

chan_sip.diff.5 is the latest diff file. It should be applied to the latest CVS.


By: Mark Spencer (markster) 2003-12-09 16:13:33.000-0600

Fixed in CS

By: Brian West (bkw918) 2003-12-09 16:13:53.000-0600


By: Brian West (bkw918) 2003-12-09 16:13:53.000-0600