[asterisk-bugs] [Asterisk 0017633]: (Regression) Pickup from Grandstream BLF button ignores the context specified in Pickup command
Asterisk Bug Tracker
noreply at bugs.digium.com
Thu Aug 12 09:03:29 CDT 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=17633
======================================================================
Reported By: urosh
Assigned To: dvossel
======================================================================
Project: Asterisk
Issue ID: 17633
Category: Channels/chan_sip/General
Reproducibility: always
Severity: minor
Priority: normal
Status: feedback
Target Version: 1.6.2.12
Asterisk Version: SVN
JIRA: SWP-1852
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2010-07-13 05:22 CDT
Last Modified: 2010-08-12 09:03 CDT
======================================================================
Summary: (Regression) Pickup from Grandstream BLF button
ignores the context specified in Pickup command
Description:
Hi i had problem described in this issue:
https://issues.asterisk.org/view.php?id=17120
asterisk error was:
[Mar 30 09:48:26] NOTICE[30223]: chan_sip.c:19860 handle_request_invite:
Trying to pick up 520 at blf
[Mar 30 09:48:27] NOTICE[30223]: chan_sip.c:19860 handle_request_invite:
Trying to pick up 520 at blf
[Mar 30 09:48:27] NOTICE[30223]: app_directed_pickup.c:257 pickup_exec: No
target channel found for 520.
I managed to correct it with removing p->callid in line 11302.
I am not a programmer of c++ so I am attaching corrected lines, that
worked for me.
Now phone works like in version 1.6.1, where phone on blinking BLF called
**EXTEN.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
related to 0014567 Directed call pickup does not work usin...
related to 0017671 Fetching Call with Grandstream-BLF (**$...
related to 0017120 (Regression) Pickup from Grandstream BL...
======================================================================
----------------------------------------------------------------------
(0125884) urosh (reporter) - 2010-08-12 09:03
https://issues.asterisk.org/view.php?id=17633#c125884
----------------------------------------------------------------------
I tried suggested and it still doesn't work. I testet with:
exten => 1111, 1, NoCDR()
exten => 1111, n, Set(__PICKUPMARK=company_internal)
exten => 1111, n, Set(__PICKUPMARK=298 at company_internal)
exten => 1111, n, Set(_PICKUPMARK=company_internal)
exten => 1111, n, Set(_PICKUPMARK=298 at company_internal)
exten => 1111, n, Set(PICKUPMARK=company_internal)
exten => 1111, n, Set(PICKUPMARK=298 at company_internal)
exten => 1111, n, Dial(SIP/298)
and
exten => 1111, 1, NoCDR()
exten => 1111, n, Set(__PICKUPMARK=BLF)
exten => 1111, n, Set(__PICKUPMARK=298 at BLF)
exten => 1111, n, Set(_PICKUPMARK=BLF)
exten => 1111, n, Set(_PICKUPMARK=298 at BLF)
exten => 1111, n, Set(PICKUPMARK=BLF)
exten => 1111, n, Set(PICKUPMARK=298 at BLF)
exten => 1111, n, Dial(SIP/298)
I even add an extension in BLF context:
exten => _**XXX, 1, NoOp(testing)
Problem is that asterisk doesn't go into the dialplan. Our dialplan for
pickup:
;#########################################################
;########## PICKUP ##########
exten => _**., 1,
Set(pickupgroup=${SIPPEER(${CALLERID(number)},pickupgroup)})
;# dobi vse dodatne pod interne
exten => _**., n,
Set(all_peer_acc=${ODBC_ALL_PEER_ACC(${EXTEN:2})}) ;dobi vse pod
stevilke
exten => _**., n, Set(i=1) ;i je ena ;)
exten => _**., n, Set(CALLED_NUM=SIP/${EXTEN:2}) ;primarna klicana je
**exten
exten => _**., n, While($[${i}<$[${all_peer_acc}]]) ;gremo cez vse
pod stevilke
exten => _**., n, Set(CALLED_NUM=${CALLED_NUM}&SIP/${EXTEN:2}${i})
exten => _**., n, Set(i=$[${i}+1])
exten => _**., n, EndWhile
;# kanc
exten => _**., n, Set(callgroup=${SIPPEER(${EXTEN:2},callgroup)})
exten => _**., n, GoToIF($["${callgroup}"=""]?hangup)
exten => _**., n, Set(pickup_groups=${FIELDQTY(pickupgroup,\,)})
exten => _**., n, Set(i=1)
exten => _**., n, While($[${i}<$[${pickup_groups}+1]])
exten => _**., n, Set(test_group=${CUT(pickupgroup,\,,${i}) })
exten => _**., n, GoToIf($[${test_group}=${callgroup}]?pickup)
exten => _**., n, Set(i=$[${i}+1])
exten => _**., n, EndWhile
exten => _**., n(hangup), HangUp()
exten => _**., n(pickup), Set(DIALED_NUMBER=${EXTEN:2})
exten => _**., n, PickupChan(${CALLED_NUM})
exten => _**., n, HangUp()
I do not use pickup mark in features.conf, instead I have special dialplan
for picking up. This is because when user wants to pick-up phone, he will
know which call he will pickup. With pickup in features.conf user pickups
the last incoming call in callgroup.
The problem still exists, i overcome it with correction in chan_sip.c.
In asterisk 1.6.1.X worked all well.
@alecdavis, when i use this correction in chan_sip the transfer call and
holding it worked.
Issue History
Date Modified Username Field Change
======================================================================
2010-08-12 09:03 urosh Note Added: 0125884
======================================================================
More information about the asterisk-bugs
mailing list