Well, the situation I have is as following:
- voipcheap trunk, set up correctly, all outgoing calls are working
- 1 DID number (via Voxbone); calls to that nr are accepted as inbound route with specified DID; there is an IVR which takes a call offering several options (“press1…, press 2…”)
if a call comes directly from my DID provider to my freepbx, caller hears IVR but DTMF simply doesn’t work, neither I can see in log that anything comes from a caller (I mean cannot see any dtmf is pressed)
then I have created another inbound route with anyDID/anyCID. In Voxbone (my DID provider) I have forwarded all calls to go to my Voipcheap account instead direct to my freepbx. Logically as my freepbx is connected to voipcheap sip server as a client (as freepbx trunk) that call is being transferred from voipcheap server to my freepbx. And guess what? dtmf is working now and a caller can easily choose appropriate option from IVR menu!
Any logical explanation for this (strange) behavior?
Must mention that firstly I thought my DID provider doesn’t carry out dtmf properly (though they say the do it as RTP payload) but apparently they really do as dtmf has been transferred to voipcheap server ann then re-transferred to py freepbx. That’s what confusing me.
Of course sollution with voipcheap in between is not acceptable because it’s not reliable in case voipcheap server goes down, account expires, betamax went to bankruptcy etc…