H323 gateway is a non-survivable endpoint. This means an active call will drop if any call manager goes down. This default behavior of an H323 gateway can be changed by playing with few settings at the CUCM and gateway.
At gateway:
voice service voip
h323
call preserve
At CUCM:
Allow TCP Keepalive for H323 = False
Allow Peer to Preserve Call = True
Restart CCM service of PUB
Verification:
Make an inbound call from PSTN to the phone.
During the call, stop the CCM service at Sub but your call will not drop!
This is what you will see at the gateway:
Issue debug on H323 Gateway – debug h225 events
Jun 3 21:09:07.052: h323chan_chn_process_read_socket: fd=3 of type CONNECTED has data
Jun 3 21:09:07.052: h323chan_recvdata: Connection lost fd=3
Jun 3 21:09:07.052: h323chan_close: TCP connection from fd=3 closed
Jun 3 21:09:07.052: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
Jun 3 21:09:07.052: h323chan_recvdata: Connection lost fd=2
Jun 3 21:09:07.056: %CCH323-6-CALL_PRESERVED: cch323_h225_handle_conn_loss: H.323 call preserved due to socket closure or error, Call Id = 4589, fd = 2
h323chan_chn_close: Calls[1] Exist on socketfd=2 Owner[2]
Jun 3 21:09:07.056: h323chan_close: TCP connection from fd=2 closed
Hello, I was reading the call preservation and am wondering where in CUCM these settings are made. I thought it would be under Service parameters or Enterprise but I do not see them there. I then went under the gateway but not there either. Any help would be greatly appreciated.
Bill
Hi Bill,
The parameters will only appear when you click ‘Advanced’ at the top.
I have added a screenshot of it as well.
Thanks I missed that and often do. Don’t get to work everyday with CUCM and so I forget that the advanced settings are available. It is awesome that you share knowledge like this, it is like the light of a candle, share it and illuminate the world : )
I have a question. In addition to the configuration above, wouldn’t this be required? I know the h225 timeout will allow the call to get routed to another VOIP destination before the default ISDN timeout of 10 seconds, but what does this call preserve command do below, that the voice service voip wouldn’t perform above?
voice class h323 1
h225 timeout tcp establish 5
call preserve
!
dial-peer voice 1 voip
voice-class h323 1
The call preserve command causes the gateway to ignore socket closure or socket errors on H.225.0 or H.245 connections for active calls, allowing the socket to be closed without tearing down calls using those connections.
Thank you greatly for this post. Will test my config tonight.
i have a question in my mind…
can we preserve a call between phones controlled by different CUCM or call processing device.
As i am facing to preserve the call in this situation.
please do reply me ASAP.
Sandeep,yes it can be preserved. The call preserve command activates H.323 VoIP call preservation which maintains connection between two CUCM controlled EP a) when CUCM reloads b) When TCP connection is lost between one or both EP and CUCM used for signalling is lost c) Between EP registered to different CUCM in a cluster and the TCP between the two CUCM is lost d) Between IP phones and PSTN at the same site
EP = end points
Thanks for the reply sir, I tried to preserve the call, but i faced a problem of one way audio.
I am using one cucm connected with a gatway and this gatway is connected with a CME through 2 wan links and a pstn link. In case of wan failure it should provide preservation, but it leads to one way audio issue.
i used Call preservation command as well. but i searched in google and came to know that preservation in H323 restricts when call is between two phones controlled by different cucm or call processing unit. so I am bit confused. help me out sir.
and wt if the phones are in different clusters??
Hello, I’d like to know if the call preserving would as well work for remote users using Soft Phones using voip over VPN. Is this possible somehow? Thanks in advance.