Hold & Transfer not working on outbound calls

We are currently running Asterisk (CentOS yum Repo Asterisk Web-gui SVN 2.4 revision with SPA942’s v. 5.1.15(a). All of the sudden we lost the functionality of putting a user on hold as well as transfer calls during an outbound call. (Outbound meaning, I call your cell phone from inside our network, and put you on hold.) You can push the hold button on the phone and it will not do anything at all. Nothing found in CLI and nothing found in Debug as well. We flashed the phones to the newest version as well as tried 5 other versions with no success. We then moved the phones to a working network, and it did work. The problem Lies within the Asterisk phone system. All config files look the same, and nothing has been changed. Does anyone have any idea on why this would occur? Has it happened to anyone? Are we losing our minds? Is it a conspiricy? Haha. Anyone please help as it is always greatly appreciated. Take care, and enjoy your day!

Best Regards,

Frigid, Inc.

sip show history, would help, for a start.

I was thinking along the lines of wiresharking out the SIP Conversation and if anything at all, what the hold button does during conversation. The Command sip show history Where do I find this call ID at? Thank you for the reply. Take care.

-Frigid, inc.

You need to enable history logging, with “sip set history on”.

The callid is shown in “sip show channels”. It doesn’t matter that it is truncated, as the tab key will automatically complete it.

I suggested getting the history as it is less noisy than the full SIP trace and it is annotated with the Asterisk’s detectons of holds and unholds.

If you ever have to submit a bug report, you will need the sip set debug on output, at an appropriate debug level.

I’ve set the SIP Debug on before with level 4. Didn’t see much. Is there a way you would be able to look at my extensions.conf, chan_dahdi.conf, and or users.conf to see if there is anything that stands out? I enabled SIP history on. Now all I have to do is wait for my technician to get onsite to hit that hold button. It just blows my mind how all of the sudden it stopped working. Thanks for the info. I will keep you posted if I find anything. What we are basically looking for at this point is if it goes into a hold state when that hold button is pushed correct? And if it doesn’t? Thanks David!


If sip debug is correctly set, you should all that you can see from wireshark (about the transport level) and more.


this is what I captured with the SIP history:

  1. Rx INVITE / 101 INVITE / sip:91440XXXXXXX@
  2. AuthChal Auth challenge sent for - nc 0
  3. TxRespRel SIP/2.0 / 101 INVITE - 401 Unauthorized
  4. SchedDestroy 32000 ms
  5. Rx ACK / 101 ACK / sip:91440XXXXXXX@
  6. Rx INVITE / 102 INVITE / sip:91440XXXXXXX@
  7. CancelDestroy
  8. Invite New call: 691f5a98-a6400868@
  9. AuthOK Auth challenge succesful for 296
  10. NewChan Channel SIP/296-0000001e - from 691f5a98-a6400868@
  11. TxResp SIP/2.0 / 102 INVITE - 100 Trying
  12. TxResp SIP/2.0 / 102 INVITE - 183 Session Progress
  13. TxResp SIP/2.0 / 102 INVITE - 183 Session Progress

The user on the end was intermittenantly tapping the hold button with no success. They initiated the call to me (My cell)

Anything else you would like me to try to see why outbound hold and transfer do not work? (According to the end user, Transfer and confrence use to display on the screen on outbound calls. Now nothing) could this have an effect on the hold on outbound calls? Also, the Debug channels for that concurrent call displayed nothing when hold was pressed. Any Ideas?

Here is the outbound call for the Sip show channel command:

  • SIP Call
    Curr. trans. direction: Outgoing
    Call-ID: 4a51b99a1387a9ff28f3409d01918286@
    Owner channel ID: SIP/252-00000016
    Our Codec Capability: 6
    Non-Codec Capability (DTMF): 1
    Their Codec Capability: 4
    Joint Codec Capability: 4
    Format: 0x4 (ulaw)
    T.38 support No
    Video support No
    MaxCallBR: 384 kbps
    Theoretical Address:
    Received Address:
    SIP Transfer mode: open
    NAT Support: Always
    Audio IP: (local)
    Our Tag: as3755f72c
    Their Tag: 1ef08ad5fde65c3i0
    SIP User agent:
    Username: 252
    Peername: 252
    Original uri: sip:252@
    Need Destroy: No
    Last Message: Tx: ACK
    Promiscuous Redir: No
    Route: sip:252@
    DTMF Mode: rfc2833
    SIP Options: (none)
    Session-Timer: Inactive


The phone is not signalling the hold to Asterisk.


That’s what it seems like. If I ad exten = s,4,Answer to the 4th priority in macro-trunk-failover (the context that dahdi uses to call out) as soon as the phone dials the number, it says connected without the end user picking up, and hold, transfer, and confrence all work. I did notice that when the call is placed without the above dialplan contents inputted, the phone states that the called party is ringing even after they picked up. Any ideas?