Hold not working correctly

Discussion in '3CX Phone System - General' started by darryla, Oct 25, 2007.

  1. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    I'm experiencing some very strange stuff. So I've setup a little local phone system involving two Polycom 650's, a laptop as the server and X-Lite to show the problem.

    HYPOTHESIS: There is something wrong with the Media Server

    Windows firewall is turned off. Everybody is plugged into a D-Link DGL-4300 I’m not sure about the UDP and TCP packet blocking settings.

    Problem Scenario 1:
    Extension 101 calls extension 102 -- both extensions are marked as "external" and "bind to media server" is OFF.
    102 Rings
    102 answers
    102 puts call on hold
    102 take call off hold
    102 puts call on hold -- but it won't work. It doesn't put the call on hold
    I keep pushing hold and it doesn't do anything.
    Also, while on hold, I do not hear the music. Also, extension 101 does not properly report that it is on hold
    102 ends call, but 101 still think's the call is connected.
    After 20 seconds, 101 finally ends the call itself.

    09:27:45.625 StratLink::eek:nHangUp [CM104001] Call(34): Ext.102 hung up call; cause: unknown
    09:27:13.375 CallLegImpl::eek:nConnected [CM103001] Call(34): Created audio channel for Ext.101 (192.168.1.142:2262) with third party (192.168.1.154:2248)
    09:27:13.375 StratInOut::eek:nConnected [CM104005] Call(34): Setup completed for call from Ext.102 to Ext.101
    09:27:13.375 CallLegImpl::eek:nConnected [CM103001] Call(34): Created audio channel for Ext.102 (192.168.1.154:2248) with third party (192.168.1.142:2262)
    09:27:10.703 CallConf::eek:nProvisional [CM103003] Call(34): Ext.101 is ringing
    09:27:10.328 CallConf::eek:nIncoming [CM103002] Call(34): Incoming call from 102 (Ext.102) to sip:101@192.168.1.130


    Problem Scenario 2:
    I mark both extensions external OFF. Bind to Media Server is OFF
    Extension 101 calls 102
    102 Rings
    102 answers
    102 puts call on hold
    102 take call off hold
    102 puts call on hold -- WORKS
    Also, while on hold, I do NOT hear the music.
    Extension 101 DOES properly report that it is on hold
    102 ends call
    101 ends call normally

    09:37:35.625 StratLink::eek:nHangUp [CM104001] Call(39): Ext.101 hung up call; cause: BYE; from IP:192.168.1.142
    09:37:29.250 CallLegImpl::eek:nConnected [CM103001] Call(39): Created audio channel for Ext.102 (192.168.1.154:2258) with third party (192.168.1.142:2224)
    09:37:29.234 StratInOut::eek:nConnected [CM104005] Call(39): Setup completed for call from Ext.101 to Ext.102
    09:37:29.234 CallLegImpl::eek:nConnected [CM103001] Call(39): Created audio channel for Ext.101 (192.168.1.142:2224) with third party (192.168.1.154:2258)
    09:37:27.718 CallConf::eek:nProvisional [CM103003] Call(39): Ext.102 is ringing
    09:37:27.468 CallConf::eek:nIncoming [CM103002] Call(39): Incoming call from 101 (Ext.101) to sip:102@192.168.1.130


    Problem Scenario 3:
    I mark both extensions external OFF. Bind to Media Server is OFF
    Extension 201 (X-Lite) calls 102
    102 Rings
    102 answers
    102 puts call on hold
    102 take call off hold
    102 puts call on hold -- WORKS
    Also, while on hold, I DO hear the music.
    Extension 201 DOES properly report that it is on hold
    102 ends call
    201 ends call normally

    When I reverse things – I hear no music from extension 102.

    Clearly there is something wrong with the Media Server. What am I doing wrong?
     
  2. SY

    SY Well-Known Member
    3CX Support

    Joined:
    Jan 26, 2007
    Messages:
    1,821
    Likes Received:
    1
    Problem Scenario 1: Call is not handled correct because both phones uses local IP but PBX uses external. Do you expect it to work correct? :)

    Problem Scenario 2: 101 ignores incoming stream (music on hold) if call was held by remote party. (You can use WireShark to capture network traffic)

    Problem Scenario 3: X-lite plays incoming audio if call was held by remote party and you hear music on hold.

    What do you think about such interpretation of events?

    Regards,
     
  3. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    You got it.

    The external thing makes sense. Thanks.

    What can I do about the music on hold problem?
     
  4. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    I ran WireShark. The most interesting thing is that my laptop is attempting to send ICMP packets to one of the Polycom phones (same one over and over again)

    Wireshark reports that it's saying "destination unreachable"

    UDP pack on source port 9002 -- Destination port 2258

    It says "bogus payload length 8"

    Very odd.
     
  5. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    I was mistaken -- it's the phone trying to send to the server.

    It's a LOT of pinging. There is a UDP packet going from the server to the phone. Then there is an ICMP packet going from the phone to server. But it's not getting to the server.

    Does the server ping over UDP to see if it's there?
     
  6. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    Another thing... It's not doing all of this pinging on the other phone.
     
  7. SY

    SY Well-Known Member
    3CX Support

    Joined:
    Jan 26, 2007
    Messages:
    1,821
    Likes Received:
    1
    I said:
    If you will continue to couple external and local addresses then you will always fail. It is a "Problem Scenario 1" :)
    WireShark was referenced in context of "Problem Scenario 2". Did you check it?

    Regards

    Regards
     
  8. SY

    SY Well-Known Member
    3CX Support

    Joined:
    Jan 26, 2007
    Messages:
    1,821
    Likes Received:
    1
    Addendum:

    ICMP is not a "pinging"

    Regards
     
  9. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    I checked it. They are no longer external. I've got them set as internal. I didn't check the "external" box. Also, the "bind to media server" box is also unchecked.

    extension 101 is not doing all of this ICMP stuff
    extension 102 is doing it

    I'm not understanding why.

    But, aside from that -- any idea why the on-hold music won't play?
     
  10. SY

    SY Well-Known Member
    3CX Support

    Joined:
    Jan 26, 2007
    Messages:
    1,821
    Likes Received:
    1
    Context: "Problem Scenario 2". WireShark capture analysis.

    Please answer my questions:
    1. Do you see RTP stream from MediaServer in direction to phone that should play music on hold?
    2. Does it (stream to phone) correspond to SDP negotiation with phone?

    Thanks
     
  11. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    I'm not sure that I can tell if it's coming from the Media Server or not. When I answer the call, I see a stream of RTP packets.

    It seems that the packets are originating from 169.254.2.2 That's not the right IP for the PBX. I think that means it hasn't bound to the right IP. How can I make it bind to the right IP?[/quote]
     
  12. SY

    SY Well-Known Member
    3CX Support

    Joined:
    Jan 26, 2007
    Messages:
    1,821
    Likes Received:
    1
    WireShark provides all information about traffic(source and destination). There is information about what was sent from host(network interface) and what was received there (host network interface).

    What is "169.254.2.2"?

    Thanks
     
  13. RobLloyd

    RobLloyd Member

    Joined:
    Oct 13, 2006
    Messages:
    488
    Likes Received:
    0
    Any IP with an address of 169.254.x.x is an APIPA address. Your clients are getting these addresses because they do not have contact with a DHCP server, and they don't have a static IP assigned.
    XP and up uses this for troubleshooting if it can't find an IP. If your phones have that address then they must be using the same IP scheme as Microsoft with APIPA addresses.

    To fix this: Assign a static IP to the device or make sure your DHCP server is working properly. A DHCP server can be a cheap internet router (linksys, netgear, belkin etc) or even a router from your broadband connection. Or if this is being done in a business then it should be a real server - Windows 2003, Linux or some other OS with that service setup.

    Your XP device will keep trying to obtain an IP from a DHCP server every 5 minutes. So you should be seeing this DHCP request traffic on wireshark captures.

     
  14. darryla

    Joined:
    Oct 11, 2007
    Messages:
    30
    Likes Received:
    0
    I gave up. I setup this configuration to expose a problem that I am having. All I've done is exacerbate everything. I've put things back the way they were and posted a seperate forum topic about it. It's the one called "Polycom 650".

    Thanks for the help.
     
  15. SY

    SY Well-Known Member
    3CX Support

    Joined:
    Jan 26, 2007
    Messages:
    1,821
    Likes Received:
    1
    Sorry, but I try to investigate what is wrong and where is a problem as well.

    PBX - 192.168.1.130
    Ext101 - 192.168.1.142 ("Polycom 650"?)
    Ext102 - 192.168.1.154 ("Polycom 650"?)
    Ext201 - XLite (You didn't specify log So I don't know the IP)

    ("169.254.2.2" is not in this list. So I tried to ask what is it...)

    Let's analyze your results:
    Call between Ext101 and Ext102. If you put call on hold on any of these phones, you don't hear music-on-hold on other party.
    If call connected between XLite<->Ext101 or XLite<->Ext102 then only X-Lite plays music. If X-Lite puts call on hold then you don't hear it on Ext101(102).

    Polycom 650 stops to play received audio content if other party places call on hold?

    The answer can be found in WireShark network traffic capture made on PBXHost(192.168.1.130?). Start capture then place call from 101 to 102 then hold/retrieve on 101, then hold/retrieve on 102, then drop call. Stop capture. Save capture to a file and then send it to me. It will be interesting to check what is really wrong.

    Thanks
     

Share This Page