Correct Conference Pin but not taken into account for GSM callers

Hello Everyone!

Problem : Correct Conference Pin but not taken into account for GSM callers

We have Asterisk 16.9.0 installed in a CentOS 7 server at our office’s local network.

–>Our objective/mission:

We want to configure Conference such that when GSM users call our DID, they should be let to a conference. They will then be asked the pin (as admin or guest) which if rightly introduced, will lead them to the conference.

–>What we have succeded to do:

We have been able to configure such that when the GSM user calls, they are taken to the conferencer and are prompted for the pin.

–>Where we have difficulties/Problem

When the GSM users are asked the Pin of the conference, they put in the correct Pin but they only keep hearing the pin isn’t correct.

Below are the configurations we have made :

In confbridge.conf

-----------User accounts------------

[wv_admin_user_DID]
type=user
pin=6666
marked=yes
admin=yes
music_on_hold_when_empty=yes
announce_user_count=yes
announce_only_user=yes
announce_join_leave=yes

[wv_guest_user_DID]
type=user
pin=4444
wait_marked=yes
end_marked=yes
music_on_hold_when_empty=yes
announce_user_count=yes
announce_user_count_all=yes
announce_only_user=yes
announce_join_leave=yes

---------- ConfBridge Bridge------------

[wv_bridge_DID]
type=bridge
max_members=50
video_mode = follow_talker

We didn’t do anything the at level of MENU

In sip.conf

register => ourusername:password@xxx.xx.xxx.xx:5060/+237222518004

[ourusername]
type=peer
context=trunkinbound
secret=password
host=xxx.xx.xxx.xx
nat=force_rport,comedia
fromdomain=xxx.xx.xxx.xx
fromuser=ourusername
username=ourusername
insecure=very
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmf=inbound
quality=yes

[201]
user=201
type=friend
host=dynamic
disallow=all
allow=ulaw
secret=201
context=trunkinbound
nat=comedia

In extensions.conf

exten => ourusername,1,Dial(SIP/ourusername)

exten => 201,1,Dial(SIP/201,20)
exten => 201,2,Answer()
exten => 201,3,Playback()
exten => 201,4,Hangup()


exten => +237222518004,1,Progress()
exten => +237222518004,2,Wait(1)
exten => +237222518004,3,ConfBridge(1,wv_bridge_DID,wv_admin_user_DID)

N.B : When we call +237222518004 through an IP Phone with the extension-201, we are able to enter the conference using the same Pin which is not considered for the GSM user.

Thank you for your quick response.

That isn’t a valid dtmfmode option.

Also the inband option will not work reliably with, at least G.729.

You might want to note that DTMF won’t work over the GSM codec, either, although the mobile network should actually be generating the tones in their fixed network, so it should work as well as for a real landline phone in practice. This assumes that the DTMF is being sent from the phone keypad, as tones introduced as audio won’t work over mobile networks using the GSM family codecs.

Thank you very much for your help.

But i have also tried to use:

dtmf=rfc2833

and

dtmfmode=rfc2833

But same results i got

There is no such option as “dtmf” (just confirmed from the source code).

Does your provider support dtmfmode=rfc2833?

Does the cellular operator support DTMF? (This would be the case for all mainstream ones.)

Can you confirm that the the pin is being sent from a mobile phone keypad, and not, say as in band audio through a GSM gateway.

What does the Asterisk DTMF log show you as being recognized by Asterisk?

There is no such option as “dtmf” (just confirmed from the source code).

OK. Thank you

Does your provider support dtmfmode=rfc2833?

I think so, i can’t just say with certitude. But i used dtmfmode=inband for inbound calls for ViciDial with the same SIP account and it was fine. Response to the IVR were fine.

Does the cellular operator support DTMF? (This would be the case for all mainstream ones.)

I am sure, because i once configured inbound calls on ViciDial with dtmfmode=inband and it was successful.

Can you confirm that the the pin is being sent from a mobile phone keypad, and not, say as in band audio through a GSM gateway.

No, please help me on that.

What does the Asterisk DTMF log show you as being recognized by Asterisk?

This is the Asterisk log i get for the inbound calls

localhostCLI>
localhost
CLI>
== Using SIP RTP CoS mark 5
> 0x7f6128001070 – Strict RTP learning after remote address set to: xxx.xx.xx.xx:11474
– Executing [+237222518004@trunkinbound:1] Progress(“SIP/ourusername-00000002”, “”) in new stack
– Executing [+237222518004@trunkinbound:2] Wait(“SIP/ourusername-00000002”, “1”) in new stack
> 0x7f6128001070 – Strict RTP switching to RTP target address xxx.xx.xx.xx:11474 as source
[Jul 16 16:40:30] WARNING[6869][C-00000003]: channel.c:5694 set_format: Unable to find a codec translation path: (g729) → (ulaw)
[Jul 16 16:40:30] WARNING[6869][C-00000003]: channel.c:5694 set_format: Unable to find a codec translation path: (ulaw) → (g729)
– Executing [+237222518004@trunkinbound:3] ConfBridge(“SIP/ourusername-00000002”, “1,wv_bridge_DID,wv_admin_user_DID”) in new stack
– <SIP/IntercoCamtel101-00000002> Playing ‘conf-getpin.g729’ (language ‘en’)
[Jul 16 16:40:33] WARNING[6869][C-00000003]: channel.c:5694 set_format: Unable to find a codec translation path: (ulaw) → (g729)
[Jul 16 16:40:33] WARNING[6869][C-00000003]: file.c:196 ast_stopstream: Unable to restore format back to ulaw
> 0x7f6128001070 – Strict RTP learning complete - Locking on source address xxx.xx.xx.xx:11474
– <SIP/IntercoCamtel101-00000002> Playing ‘conf-invalidpin.g729’ (language ‘en’)
– <SIP/IntercoCamtel101-00000002> Playing ‘conf-getpin.g729’ (language ‘en’)
– <SIP/IntercoCamtel101-00000002> Playing ‘conf-invalidpin.g729’ (language ‘en’)
– <SIP/IntercoCamtel101-00000002> Playing ‘conf-getpin.g729’ (language ‘en’)
– <SIP/IntercoCamtel101-00000002> Playing ‘conf-invalidpin.g729’ (language ‘en’)
== Spawn extension (trunkinbound, +237222518004, 3) exited non-zero on ‘SIP/ourusername-00000002’
localhost*CLI>

Thank you again for your time

That’s something only the person sending the DTMF can answer.

Either you didn’t enable DTMF logging, or no recognizable digits were received.

That’s something only the person sending the DTMF can answer.

Ohh, i understand you now. I am actually the one calling through my mobile phone. I have actually tried with other Mobile network services, but same result.

I have actually tried the following options already:

dtmfmode=rfc2833
dtmfmode=inband
dtmfmode=auto
dtmfmode=info
dtmfmode=rfc2833&info&inband

But i still have same results. I knew that trying these different options, at least one of them should work.

Thank you for you quick response.

Thank you for helping out.

We solved it by removing allow=g729, allowing allow=g723 and setting dtmfmode=inband