[asterisk-users] SIP - SIP over PBX no audio when canreinvite=no

RG ast at gallati.net
Wed May 5 07:30:35 CDT 2010


Hello list,

I am trying to solve a problem and after unsucessfully chasing forums 
and google for some hours, I turn to you in hope of a solution. I feel 
it's just a configuration issue but I just can't get my head wrapped 
around it.

The situation is basically this: I have an Asterisk connected to an 
Alcatel OmniPCX via SIP. Asterisk only ever does SIP and has no 
dedicated hardware phone interface. The Alcatel PBX is connected to the 
public phone net, and is configured to forward all calls to a certain 
number to Asterisk. Also when Asterisk dials out, that number is 
correctly transmitted by the PBX. Asterisk's job is to implement a 
special highly dynamic call routing, controlled by a script.

I tested all functionality I need first with simple Softphones from my 
work PC. Everything I needed worked fine. Now connected to the PBX it 
works too, but in certain situations, I simply get no audio at all. Call 
setup and dynamically calling the correct recipient works fine, but if 
the callee picks up the phone, there simply is only silence on the line.

More precisely, I have the following situation:
I call a number (with my desktop phone), the number is picked up by the 
Alcatel PBX and is calling Asterisk via SIP on a specific extension. 
Asterisk determines the target, initiates a call via SIP out over the 
Alcatel and the other phone rings (say my mobile). I can pick it up and 
the call is connected.

Now, if I have canreinvite=no, meaning the connection goes like this:

Desk Phone -> PSTN -> Alcatel PBX -> SIP -> Asterisk and
Asterisk -> SIP -> Alcatel PBX -> PSTN -> mobile

then I hear nothing. There is only silence. Talking with the Alcatel PBX 
people, they can tell me that their SIP equipment is allocating codec 
and compressor resources so the media path is "open". I can also confirm 
that there is RTP network traffic passing to and from Asterisk.

But there is only silence.

If I change it so, that either source or destination of the call is not 
going through the PBX but to one of my Softphones registered at 
Asterisk, then it works fine. The Softphone can receive or initiate the 
call and there is audio between the two.

If I set canreinvite=yes and I have set directrtpsetup=yes to say 
Asterisk I want it to "shortcut" anyway, since I'm only interested in 
the call setup and not really in the actual audio/media data, then the 
above scenario does work. Desktop phone to mobile phone both via Alcatel 
PBX works fine, except that I don't get the call disconnected when one 
side hangs up (seems simply to keep the line open with silence from then 
on).

However while that scenario works, call origination then fails. If I 
perform a call origination, then the first phone rings, and if picked 
up, the second phone rings exactly once (or actually, it feels like a 
fraction of "one ring") and then the first phone gets a NO ANSWER/BUSY 
response right ahead. If I remove once again the canreinvite=yes then 
the second phone rings normally on call origination and can be picked 
up, but again, I am having no audio, only silence.

So in short, with
canreinvite=yes, everything through Asterisk, call forward and call 
origination works but no audio
canreinvite=no, call forward works (but no hangup detection), call 
origination fails with the called member only receiving one single ring.


I really can't find any hints to this, but I think it must be a simple 
configuration issue on my end. I can provide configuration snippets, but 
I think the issue is something basic that if someone knows what I am 
doing wrong, can immediately point me to the answer. Otherwise, here's 
the sip.conf part where the connection is defined to the PBX:

[pbx]
type=peer
secret=something
defaultuser=something
fromuser=7889      ; extension we are called with
host=10.64.x.y  ; IP of PBX sip gateway
fromdomain=172.29.x.y ; our IP.
canreinvite=yes
context=pbxIN

direct call forward out again (the scenario above)

extensions.conf:
exten => 7889,1,Dial(SIP/pbx/0<phonenumber>)


If more debug / config information is required, I'll be happy to provide 
that.

Thanks in advance

Rene



More information about the asterisk-users mailing list