Here is a problem, i can make ad-hoc conference internal IP Telephone which are registed on a CallManager. but i can NOT make a ad-hoc conference cross Voice gateway(which voice gateway not configure any conference bridge).
Did hardware conference bridge has any functionly difference of software conference bridge?
Can i make a ad-hoc conference cross h.323 Voice Gateway(which voice gateway not configure any conference bridge) ?
I'll assume that for software conference resources you are focusing on the Communications Manager (CUCM) media resources only.
The basic difference is that with software resources, the media mixing is controlled by the CUCM. Specifically, this is controlled by the IP Voice Media Streaming (IPVMS) service. The maximum number of audio streams that can be handled by the CUCM is configurable. The default is 48 streams. This is configured as part of the System>Service Parameters>IP Voice Media Streaming service. You don't need to modify this for your dilemma, just a point of information.
With software resources, the main consideration is that these resources can only support G.711 participants in a conference. No other codecs can be used.
Hardware resources are a tad more complicated. Again, I will assume we are talking about IOS voice gateways. The hardware conference bridge uses local Digital Signaling Processors (DSPs) to provide the conference media mixing. You can support multiple codecs as the DSPs can also transcode. Of course, when doing this you have to take DSP allocation into account because a DSP is a piece of hardware, like RAM it has a limited capacity. If you enable high complexity CODECs, a DSP needs more processing power which means it can hit capacity sooner (i.e. with fewer calls). There is more to it than that, but you can read up on this yourself. I'll provide links below.
The key point that, aside from how they are provisioned and the capability differences for CODECs and capacities, from a CUCM media resource management perspective they are the same. You assign the media resource to a media resource group (MRG), then you assign the MRG to a Media Resource Group List (MRGL). The MRGL can be assigned directly to a device or a device pool. Now, when a user initiates a conference from an IP phone, the MRGL assigned to the phone (or phone's device pool) is engaged.
Now, your specific scenario. To include a remote/off net/pstn party into your conference, the voice gateway does NOT need to be a conference resource. IOW, you can use a software resource in the scenario you describe. What you need to check is:
Can you call the off net party directly? Meaning, can IP-PhoneA call PSTN-PhoneA outside of a conference?
If no, then fix that problem before trying to fault the conference resource.
If yes, then take a look at the codec you are using when placing that call. If something other than G.711 is used when you call out to the PSTN then software conferencing will fail and you need to look at alternate solutions.
Please remember to rate helpful posts.