[Home]

Summary:ASTERISK-16581: [patch] the display does not properly display the caller when a call is established. - Cisco 7910
Reporter:Sergio (salecha)Labels:
Date Opened:2010-08-17 06:55:03Date Closed:2010-08-23 15:23:50
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_skinny
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) Debug_Skinny_debug_packet
( 1) skinny_cnd.diff
( 2) skinny_cnd2.diff
( 3) skinny_cnd3.diff
( 4) skinny_display_transfer
Description:When I start a call, the display correctly shows me who called and who I'm calling.
But when connected, the display shows me that the caller is UNKNOWN but the number you call shows it well.
Example:
the caller is -> 2915 (Sergio A)
is being called -> 2803 (Test)

when calling the display shows: Sergio A to 2803.
When you connect the display shows: UNKNOWN to 2803
Comments:By: Sergio (salecha) 2010-08-17 06:55:45

VOIP02*CLI>
Setting ringer mode to '1'.
skinny_new: tmp->nativeformats=0xc (ulaw|alaw) fmt=ulaw
Clearing Display
   -- Starting simple switch on '2915@SEP000B46D9D2B7'
Collected digit: [2]
   -- Asked to indicate 'Stop tone' condition on channel Skinny/2915@SEP000B46D9D2B7-10
Collected digit: [8]
   -- Asked to indicate 'Stop tone' condition on channel Skinny/2915@SEP000B46D9D2B7-10
Collected digit: [0]
   -- Asked to indicate 'Stop tone' condition on channel Skinny/2915@SEP000B46D9D2B7-10
Collected digit: [3]
 == Found device: SEP000B46D9D2B7
   -- Executing [2803@CLASE-A:1] Set("Skinny/2915@SEP000B46D9D2B7-10", "CDR(accountcode)=CCM-2915") in new stack
Received Open Receive Channel Ack
device ipaddr = 10.50.100.17:24470
asterisk ipaddr = 10.2.1.105:11258
Setting payloadType to 'ulaw' (20 ms)
   -- Executing [2803@CLASE-A:2] Set("Skinny/2915@SEP000B46D9D2B7-10", "CALLERID(num)=2915") in new stack
   -- Executing [2803@CLASE-A:3] Set("Skinny/2915@SEP000B46D9D2B7-10", "CALLERID(name)=Sergio A") in new stack
   -- Executing [2803@CLASE-A:4] Dial("Skinny/2915@SEP000B46D9D2B7-10", "sip/2803@10.2.1.106,120,rtw") in new stack
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-10
skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL
   -- Called 2803@10.2.1.106
   -- Asked to indicate 'Remote end is ringing' condition on channel Skinny/2915@SEP000B46D9D2B7-10
Displaying Prompt Status 'Ring Out'
Setting Callinfo to Sergio A(2915) from 2803(2803) on SEP000B46D9D2B7(1)
   -- SIP/10.2.1.106-00000002 is ringing
   -- Asked to indicate 'Remote end is ringing' condition on channel Skinny/2915@SEP000B46D9D2B7-10
Displaying Prompt Status 'Ring Out'
Setting Callinfo to Sergio A(2915) from 2803(2803) on SEP000B46D9D2B7(1)
   -- Asked to indicate 'Connected Line' condition on channel Skinny/2915@SEP000B46D9D2B7-10
   -- SIP/10.2.1.106-00000002 answered Skinny/2915@SEP000B46D9D2B7-10
   -- Asked to indicate 'Stop tone' condition on channel Skinny/2915@SEP000B46D9D2B7-10
skinny_answer(Skinny/2915@SEP000B46D9D2B7-10) on 2915@SEP000B46D9D2B7-10
Setting Callinfo to () from 2803(2803) on SEP000B46D9D2B7(1)
Displaying Prompt Status 'Connected'
   -- Asked to indicate 'Stop tone' condition on channel Skinny/2915@SEP000B46D9D2B7-10
   -- Asked to indicate 'UNKNOWN-26' condition on channel Skinny/2915@SEP000B46D9D2B7-10
 == Found device: SEP000B46D9D2B7
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-10
skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL
   -- Asked to indicate 'Media Source Update' condition on channel Skinny/2915@SEP000B46D9D2B7-10
   -- Executing [h@CLASE-A:1] Hangup("Skinny/2915@SEP000B46D9D2B7-10", "") in new stack
 == Spawn extension (CLASE-A, h, 1) exited non-zero on 'Skinny/2915@SEP000B46D9D2B7-10'
 == Spawn extension (CLASE-A, 2803, 4) exited non-zero on 'Skinny/2915@SEP000B46D9D2B7-10'
   -- Executing [h@CLASE-A:1] Hangup("Skinny/2915@SEP000B46D9D2B7-10", "") in new stack
 == Spawn extension (CLASE-A, h, 1) exited non-zero on 'Skinny/2915@SEP000B46D9D2B7-10'
   -- Hanging up SEP000B46D9D2B7/10
      > Killing only sub 10
Clearing Prompt
Setting ringer mode to '1'.
Clearing Display

By: Damien Wedhorn (wedhorn) 2010-08-17 16:46:05

Added a patch (skinny_cnd.diff) which should fix this issue.

Salecha, can you also test bug 17812. I'm restructuring skinny to make debugging and feature adding easier. I would appreciate if you can test the "Cleanup:" patches as I post them.

By: Sergio (salecha) 2010-08-18 07:17:30

ok, the patch works well when the cisco initiates the call to another phone.

But when calling from another phone to phone cisco, the display shows the following:

2920 (Gustavo Sip)
2915 (Skinny Sergio)

1 - Gustavo to Sergio.
2 - I answer the call on the cisco and the display shows only "Sergio," I do not see who is calling.

By: Sergio (salecha) 2010-08-18 07:18:51

Debug when calling from another phone to phone cisco

VOIP02*CLI>
   -- Executing [2915@from-sip-external:1] NoOp("SIP/10.2.1.106-00000002", "NOT_INUSE") in new stack
   -- Executing [2915@from-sip-external:2] ExecIf("SIP/10.2.1.106-00000002", "1?Dial(skinny/2915,60,t)") in new stack
   -- skinny_request(2915)
skinny_new: tmp->nativeformats=0xc (ulaw|alaw) fmt=ulaw
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-3
   -- skinny_call(Skinny/2915@SEP000B46D9D2B7-3)
Displaying Prompt Status 'Ring-In'
Setting Callinfo to Gustavo Gonzalez(2608) from Sergio Alecha(2915) on SEP000B46D9D2B7(1)
Setting ringer mode to '2'.
 == Found device: SEP000B46D9D2B7
   -- Called 2915
   -- Skinny/2915@SEP000B46D9D2B7-3 is ringing
Setting ringer mode to '1'.
Displaying Prompt Status 'Connected'
   -- Skinny/2915@SEP000B46D9D2B7-3 answered SIP/10.2.1.106-00000002
 == Found device: SEP000B46D9D2B7
   -- Asked to indicate 'UNKNOWN-26' condition on channel Skinny/2915@SEP000B46D9D2B7-3
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-3
skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL
Received Open Receive Channel Ack
device ipaddr = 10.50.100.17:26124
asterisk ipaddr = 10.2.1.105:17772
Setting payloadType to 'ulaw' (20 ms)
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-3
skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL
Clearing Prompt
   -- Hanging up SEP000B46D9D2B7/3
      > Killing only sub 3
Clearing Prompt
Setting ringer mode to '1'.
Clearing Display
 == Found device: SEP000B46D9D2B7
 == Spawn extension (from-sip-external, 2915, 2) exited non-zero on 'SIP/10.2.1.106-00000002'
VOIP02*CLI>

By: Sergio (salecha) 2010-08-18 07:58:07

I tested the bug 17 812 and working properly on a cisco 7910.

By: Damien Wedhorn (wedhorn) 2010-08-18 15:57:57

New patch should fix the incoming call issue.

Thanks for testing 17812. In future, could you please put comments in the relevant bug.

By: Sergio (salecha) 2010-08-19 06:03:30

The patch for the incoming call to the cisco does not work. This is the test scenario I'm using:

I have
- A Cisco IP phone extension 7910 which is 2915 (Sergio).
- An IP Telephone Polycom whose extension is 2920 (Gustavo).

1 - Call from extension 2920 (Gustavo) to the Cisco 2915 (Sergio).
2 - Cisco Display shows: "Gustavo to Sergio." Until here everything is fine.
3 - Now take the call on the Cisco 7910 and the display only shows "Sergio." Disappears the part that says "Gustavo to".

This is the debug of what happens when I call the Cisco 7910:


VOIP02*CLI>
   -- Executing [2915@CLASE-A:1] NoOp("SIP/2920-00000000", "NOT_INUSE") in new stack
   -- Executing [2915@CLASE-A:2] ExecIf("SIP/2920-00000000", "1?Dial(skinny/2915,60,t)") in new stack
   -- skinny_request(2915)
skinny_new: tmp->nativeformats=0xc (ulaw|alaw) fmt=ulaw
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-1
   -- skinny_call(Skinny/2915@SEP000B46D9D2B7-1)
Displaying Prompt Status 'Ring-In'
Setting Callinfo to Gustavo G(2920) from Sergio Alecha(2915) on SEP000B46D9D2B7(1)
Setting ringer mode to '2'.
 == Found device: SEP000B46D9D2B7
   -- Called 2915
   -- Skinny/2915@SEP000B46D9D2B7-1 is ringing
Setting ringer mode to '1'.
Displaying Prompt Status 'Connected'
 == Found device: SEP000B46D9D2B7
   -- Skinny/2915@SEP000B46D9D2B7-1 answered SIP/2920-00000000
   -- Asked to indicate 'Media Source Change' condition on channel Skinny/2915@SEP000B46D9D2B7-1
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-1
skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL
Received Open Receive Channel Ack
device ipaddr = 10.50.100.17:24572
asterisk ipaddr = 10.2.1.105:14858
Setting payloadType to 'ulaw' (20 ms)
skinny_get_rtp_peer() Channel = Skinny/2915@SEP000B46D9D2B7-1
skinny_get_rtp_peer() Using AST_RTP_GLUE_RESULT_LOCAL
   -- Asked to indicate 'Media Source Update' condition on channel Skinny/2915@SEP000B46D9D2B7-1
   -- Executing [h@CLASE-A:1] Hangup("SIP/2920-00000000", "") in new stack
   -- Hanging up SEP000B46D9D2B7/1
      > Killing only sub 1
Clearing Prompt
Setting ringer mode to '1'.
Clearing Display
 == Found device: SEP000B46D9D2B7
 == Spawn extension (CLASE-A, 2915, 2) exited non-zero on 'SIP/2920-00000000'

By: Damien Wedhorn (wedhorn) 2010-08-19 06:51:41

If you've got the second patch applied, can you provide a console log (debug) with "skinny set debug packet".

By: Sergio (salecha) 2010-08-19 11:17:52

Sorry. attached file (Debug_Skinny_debug_packet) contains the debugging:
1 - Cisco 7910 phone registration.
2 - Call from extension 2920 (Gustavo) to cisco 7910 (2915 - Sergio).

By: Damien Wedhorn (wedhorn) 2010-08-19 15:52:29

salecha, you seem to have forgotten to attach the debug.

By: Damien Wedhorn (wedhorn) 2010-08-22 16:35:20

Added another patch (skinny_cnd3.diff).

This is a bit of a guess as cnd2 fixed the issues on my phones. Maybe the 7910 has issues with the callstate OFFHOOK message in the setsubstate connected. It seems to be redundant, so cnd3 removes it.

See how this one goes. If it works, we will need to check that it works for all other situation (eg answering, unholding etc).

By: Sergio (salecha) 2010-08-23 06:58:50

Perfect!. With the patch "skinny_cnd3.diff" will fix the problem. Yes. The display works well with a common call. The patch works well for this case.

In summary:

1-2915 (Sergio) calls 2608 (Gustavo) - OK.
2-2608 (Gustavo) calls 2915 (Sergio) - OK.

Well, in the case of a transfer, the following happens.

1 - call from 2608 to 2915 (Cisco Skinny). - Okay.
2 - The display of cisco you can see "2608 to 2915." - Okay.
3 - Now press the "transfer" in 2915 (Cisco Skinny). - Okay.
4 - The 2608 waits and since 2915 (Cisco Skinny) called at 2850.
5 - While this call, the Cisco display shows "2915 to 2850." - Okay.
6 - When the 2850 answers the call, the Cisco display shows "2608 to 2915." In this case, the communication is between the 2915 (Cisco) and 2850, should not show "2915 to 2850?
7 - The transfer is done successfully.

I do not know, that item 6 is a problem, but that's not a real problem.

leave a debug of what is happening with the display in a transfer. Archive skinny_display_transfer.



By: Damien Wedhorn (wedhorn) 2010-08-23 15:22:50

Salecha, I'm not sure the transfer issue is a bug. If you think it is, feel free to open another bug report.

By: Digium Subversion (svnbot) 2010-08-23 15:23:49

Repository: asterisk
Revision: 283287

U   trunk/channels/chan_skinny.c

------------------------------------------------------------------------
r283287 | wedhorn | 2010-08-23 15:23:49 -0500 (Mon, 23 Aug 2010) | 12 lines

Fixes display issues on 7910 and older phones.

Also correct the callinfo provided in skinny_answer.

(closes issue ASTERISK-16581)
Reported by: salecha
Patches:
     skinny_cnd3.diff uploaded by wedhorn (license 30)
Tested by: salecha, wedhorn

Review: NA

------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=283287