One way audio


#1

I have Asterisk 1.2.3 netsec on Fedora Core 4 which is the firewall machine. I have SIP and IAX channels configured. From the LAN I can make and receive calls from and to an X-Lite softphone. One of those extensions is on a notebook that travels outside the LAN and I think I can still access this PBX over the internet. In that case the notebook (Suse 10) is connected directly to the internet and is itself its own firewall. No NAT is involved. What happens is that when I place an IAX call (using voipjet - www.voipjet.com) both sides can hear audio just fine. I did not test receiveing an IAX call (I’m not sure how to use the test voipjet account)… If I place or receive a SIP call, the audio goes from the remote phone to the notebook but not in the other direction. In other words, the symptom is of a defective microphone on the notebook, which we know is not the case becasue AIX calls work. I tired this with both firewalls temporarily disabled on the Asterisk server and on the notebook but nothing changed.

These are the relevant parts of the configuration

SIP.CONF ---------------------
[general]
port = 5060
bindaddr = 0.0.0.0
context = default
srvlookup = yes

;GVT - vono
register => my-user:my-password@vono.net.br

[miguelk]
type=friend
secret=HardToUse
host=dynamic
nat=yes
qualify=yes

[vono]
type=friend
username=my-user
secret=my-password
fromuser=my-user
fromdomain=vono.net.br
host=vono.net.br
insecure=very
qualify=yes
port=5060
auth=md5
;nat=no ;makes no difference
nat=yes
reinvite=no
dtmfmode=rfc2833
context=vono-in

IAX.CONF --------------------------------
[general]
bandwidth=low
disallow=lpc10
allow=gsm
allow = ulaw
jitterbuffer=yes
dropcount=1
forcejitterbuffer=no
tos=lowdelay
autokill=yes

[voipjet]
type=peer
host= 64.34.45.100
secret= my-secret
auth=md5
notransfer=yes
context=default

EXTENSIONS.CONF -------------------------------------------
[globals]

[default]
include => vono-out
include => voipjet
exten => 129,1,Dial(SIP/miguelk)
exten => 999,1,VoicemailMain( )

[voipjet]
exten => _1NXXNXXXXXX,1,SetCallerID(0123456789)
exten => _1NXXNXXXXXX,2,Dial,IAX2/1111@voipjet/${EXTEN}
exten => _011.,1,SetCallerID(0123456789)
exten => _011.,2,Dial,IAX2/1111@voipjet/${EXTEN}

[vono-out]
exten => _8.,1,Dial(SIP/${EXTEN:1}@vono,50,r)
exten => _8.,2,Congestion( )
exten => _8.,102,Congestion( )

[vono-in]
exten => s,1,Answer( )
exten => s,2,Playback(hello-world)
exten => s,3,Background(enter-ext-of-person)
exten => 129,1,Dial(SIP/miguelk,50,r)
exten => 129,2,VoiceMail(u129@default)
exten => 129,3,Hangup( )
exten => 129,102,VoiceMail(b129@default)
exten => 129,103,Hangup( )
exten => i,1,Playback(pbx-invalid)
exten => i,2,Goto(vono-in,s,1)
exten => t,1,Playback(vm-goodbye)
exten => t,2,Hangup( )

The Asterisk console shows:

PBX*CLI> sip show registry
Host Username Refresh State
vono.net.br:5060 my-user 45 Registered

PBX*CLI> sip show peers
Name/username Host Dyn Nat ACL Port Status
vono/my-user 200.146.79.165 N 5060 OK (25 ms)
miguelk/miguelk 200.222.223.244 D N 5060 OK (38 ms)

PBX*CLI> iax2 show registry
Host Username Perceived Refresh State
(no entries)

PBX*CLI> iax2 show peers
Name/Username Host Mask Port Status
voipjet 64.34.45.100 (S) 255.255.255.255 4569 Unmonitored

With this configration for example (of course, the login, number and IP details are changed) I make calls to Sao Paulo with SIP like this 801137716004 and using IAX like this 011551137716004.

Does anyone have an idea of what is wrong in the configuration tha t would make SIP audio be one way outside the LAN?

Thanks.

Miguel


#2

It’s usually caused by reinvites. You want to set:

canrenivite=no

on your sip lines. voipjet should be fine because it is IAX2 and not sip. I was once passed the following from Telasip support when first coming online (although the problem ended up being theirs):

To setup asterisk for re-invites, you need to change some settings in the sip.conf file.

Static IP Address:

externip=xxx.xxx.xxx.xxx
localnet=192.168.0.0/255.255.0.0

Dynamic DNS:

externhost=
localnet=192.168.0.0/255.255.0.0
externrefresh=15

Otherwise we will need to disable re-invtes.


#3

You are right, putting in canreinvite=no (in the [vono] section) solved the problem. Thanks a lot.

I think reinvites can be useful for my setup so I tried the idea of the externip and the localnet while I was an extension on the internet (i.e. not on the localnet) but that did not work. I suppose though that inside the localnet that will work fine. In case it does not I’ll post back.