Call to some service providers working but to one service provider not working

Hi

I am new to asterisk and i have setup an Asterisk box as a gateway between a Shoretel pabx and sip provider. The asterisk gateway is registered to both peers and calls are an going through to all the service providers except for one Cellc. i tried changing codecs but no help.What happens is the call connects but there is no audio going through. When you make the call, it ring for the other party but i do not hear it ring. That is why i initially thought it was a codec issue. i have attached configs and sip traces, if anyone can pick up a problem please help me.

My Sip.config:
[general]

register => 2711xxxxxxx@xxx.xxx.co.za:11xxxxxxx@172.31.20.35

disallow=all
allow=g729

defaultexpiry=3600

directmedia=no
context=from-test

[Shoretel]
dtmfmode=rfc2833
host=10.1.192.15
type=friend
callerid="Shoretel"
nat=no
context=from-test
directmedia=no
qualify=yes
disallow=all
allow=g729
port=5060
insecure=port,invite
canreinvite=no
fromuser=2711xxxxxxx

[172.31.20.35]
dtmfmode=rfc2833
type=friend
host=172.31.20.35
username=2711xxxxxxx
secret=11xxxxxxx
qualify=yes
context=from-test
insecure=port,invite
fromuser=2711xxxxxxx
nat=no
port=5060
fromdomain=xxx.xxx.co.za
realm=xxx.xxx.co.za
directmedia=no
disallow=all
allow=g729
canreinvite=no

My Extensions.conf:
[from-test]
exten => a,1,NoOp(Catch Inbound Call)
same => n,Dial(SIP/Shoretel/6600

    exten =>_X.,1,Dial(SIP/${EXTEN}@172.31.20.35)

Please provide the protocol logs.

Although, not I believe the cause of your issue, note that:

insecure=invite makes no sense if there is no secret. Why do you have inecure=port?

canreinvite is the obsolete name for directmedia, so setting both makes no sense.

In almost all cases, type=peer is better than type=friend.