locked
Communicator 2007 R2 in Citrix locks during a PC to PC Call RRS feed

  • Question

  • Hi I'm desperately trying to figure this one out so any thoughts would be greatly appreciated,

     

    When a communicator, PC to PC, call is placed the recipient’s communicator locks / freezes within Citrix, becomes completely unresponsive. 

     

    I've loaded communicator 2007 R2 on a Citrix 4.0 Presentation Server running win2k3 R2.  It runs and functions completely normally without issues, I can IM and see presence no problem (never freezes).  I publish and our users use a full desktop vs. published apps.   We need it in Citrix at a minimum for the client presence & presence integration with Outlook 2007, IM in Citrix would also be good.  I am running a second instance of communicator on the local XP machine for users to make calls & have full communicator functionality.  There is zero integration with a PBX, PC to PC calling only. I already have a group policy in place to disable calling completely [set as: computer configuration, Telephony mode, enabled, “5 = IM and Presence Only”].  When using the client in Citrix all call functions are greyed out / not available, there is not an option for a ‘communicator call’ in the upper left communicator window.  When call is made from the local XP machine’s communicator the call does not appear or pop inside of Citrix (you can’t tell there’s an incoming call and are not able to answer it) – this is exactly what I want to happen so that’s great.  However, when a call is placed (which should be XP to XP machine, not answered through Citrix) it freezes the Citrix instance even though the call is never seen nor answered.  The XP instance displays the call and functions normally.  I’ve tried disabling sound in Citrix and on the Citrix client, disabling all audio/visual options within the communicator client itself in the Citrix instance and always have the same result (the call recipient communicator locks up).  Another test that was run, loaded communicator on a non Citrix win2k3 R2 server and did the same test.  It never locks up this way and calls are never seen on the test non Citrix server and functions exactly the way I want it to.

     

    It seems as though this should work, based on  http://support.microsoft.com/kb/951152/en-us
    Office Communicator 2007 R2 supports Terminal Services and Citrix MetaFrame when Office Communicator is used for text chats, presence functions, desktop sharing, and Remote Call Control (RCC) functions.

     

    Anything that anyone has to offer would be great, thanks in advance

    Saturday, August 29, 2009 2:08 PM

Answers

  • FYI, I have RESOLVED this issue.  I discovered our surfcontrol web filter for citrix client installed was the reason for MOC not working.  Here's the resolution incase anyone else ends up with this problem:


    2 Registry additions must be added on the server as follows:


    HKEY_LOCAL_MACHINE\SOFTWARE\SurfControl\Nomad\scnmlsp

    DWORD: CloseSocketDelayOn

    Value:  1

     - Enable fix for all applications

     

    This will cause a delay in the "closesocket" call, with a delay of 1 millisecond. To extend the delay use an additional  key:

     

    HKEY_LOCAL_MACHINE\SOFTWARE\SurfControl\Nomad\scnmlsp

    DWORD: CloseSocketDelayTime

    Value: 50

    suggest 50 (milliseconds)

     

     

    this is the delay time on the socket connection start at 50 (then if issues) to 100 to 500
    • Marked as answer by Whit F Friday, September 4, 2009 5:33 PM
    Friday, September 4, 2009 5:32 PM

All replies

  • PC to PC isn't the same of RCC. RCC will only control status for MOC/Phone.

    Calls isn't supported in this cenario. :(


    Bruno Estrozi - MCSE/MCTS/MCITP - Unified Communications Specialist | http://brunoestrozi.spaces.live.com
    Sunday, August 30, 2009 1:54 AM
  • Thanks for the reply. 

    I don't wish/need to have any calling available at all within the Citrix desktop.  I want MOC to run in Citrix to allow for presence, IM, outlook presence integration.  I intend for MOC to run in Citrix for this purpose & then a second instance on the user's local XP machine out of citrix (outside Citrix is where any calls will be placed/answered).

    I used Telephony mode, enabled, “5 = IM and Presence Only” to disable the appearance of the call button in Citrix/Win2k3.  This worked out fine to not display an incoming call (what I was after).  You can't tell in Citrix that's someone's calling you.  I did further testing and MOC only locks up in Citrix when the call disconnects (this is an unanswered call that is never displayed nor available in Citrix).   

    The thing that boggles me is why within Citrix it hangs after an unanswered/unshown call, yet on another win2k3 server that's not a terminal server nor that has Citrix it behaves exactly the way I want... Call is displayed and available on XP, never shows in win2k3 & never locks up.


    other info:
    • Using Citrix Presentation Server 4.0 w/ Rollup 3
    • latest version of MOC 2007 R2 with most recent patch
    • happens while logged in as administrator w/ full rights (and also a regular based user)
    • I analyzed the MS dump file and it seems to indicate that RTMPLTFM.dll is what causes the hang (but don't know what to do about that)
    • tracing shows this every time in the last few lines:
    TRACE :: ASYNC_SOCKET::InternalSend no compression, BytesLeft = 1260, BytesToSend = 1260, cbDataToEncryptSize = 1260, psDataToEncrypt = 02D1CD70 
    TRACE :: - encrypted buffer length: 1285 bytes.  First 8 bytes:
    TRACE ::     17 03 01 05 00 68 E9 CB  :.....héË
    TRACE :: ASYNC_SOCKET::SendOrQueueIfSendIsBlocking sending sendBuffer 03C229D0, this 00168A88, pSendBuffer->m_BufLen = 1285
    TRACE :: ASYNC_SOCKET::SendHelperFn sendBuffer 03C229D0 sent, this 00168A88, m_BytesSent = 1285, pSendBuffer->m_BufLen = 1285
    TRACE :: CUccMultipartySession::NotifySuspended - enter [0x000E51DC]
    INFO  :: CUccSessionParticipant::InternalSetState [00172008] - state: 0x1->0x1
    TRACE :: CUccMultipartySession::NotifySuspended - exit [000E51DC]
    INFO  :: MSP.SetState[00146DC8] SIP_CALL_STATE_OFFERING->SIP_CALL_STATE_DISCONNECTED, local=sip:exampleuser@exampledomain.com
    ERROR :: CRTCMediaParticipant::RemoveStream[02D29D08] InternalHasStream failed (1). 80ee0002
    ERROR :: CRTCMediaParticipant::RemoveStream[02D29D08] InternalHasStream failed (2). 80ee0002


    Any more thoughts or things to try, I could really use 'em & thanks!
    Sunday, August 30, 2009 1:18 PM
  • FYI, I have RESOLVED this issue.  I discovered our surfcontrol web filter for citrix client installed was the reason for MOC not working.  Here's the resolution incase anyone else ends up with this problem:


    2 Registry additions must be added on the server as follows:


    HKEY_LOCAL_MACHINE\SOFTWARE\SurfControl\Nomad\scnmlsp

    DWORD: CloseSocketDelayOn

    Value:  1

     - Enable fix for all applications

     

    This will cause a delay in the "closesocket" call, with a delay of 1 millisecond. To extend the delay use an additional  key:

     

    HKEY_LOCAL_MACHINE\SOFTWARE\SurfControl\Nomad\scnmlsp

    DWORD: CloseSocketDelayTime

    Value: 50

    suggest 50 (milliseconds)

     

     

    this is the delay time on the socket connection start at 50 (then if issues) to 100 to 500
    • Marked as answer by Whit F Friday, September 4, 2009 5:33 PM
    Friday, September 4, 2009 5:32 PM