Thanks for all who is helping. I tried, canreinvite=yes on all contexts but that do not seem to work as well. But the issue is not related to negotiating between end points, but for me, asterisk do not have a proper configuration scheme which works, to the requirement of the user. The Code-Negotiation in * for me is buggy or featureless in Asterisk.
The way to negotiate coders is to give priority to bridge-native without a coder translation/conversion when ever possible, if we do not hard tell * to do so. There could be users need to give priority to coder translation (If you pay royalty fees to g729 may be!!). So my expectation is we should have a way to tell * what order we like to have coders negotiated for different contexts (or end points). I did some more digging into the problem and here is what I see. I changed the configuration as follows, (added disallow/allow to ATA context, and I keep canreinvite=no as to show that * misbehaves in codec negotiation by it self) [general] .... disallow=all allow=g729 allow=ulaw allow=alaw register => [EMAIL PROTECTED] register => [EMAIL PROTECTED] [sip-a] .... canreinvite=no disallow=all allow=ulaw [sip-b] ... canreinvite=no disallow=all allow=g729 [ATA] ..... canreinvite=yes disallow=all allow=g729 When ever I only allow g729 in ATA-context, during a call setup asterisk send the SIP:Session Progress Message with only g729 listed in SDP headers. Then I can make calls through to sip-a. Then if I change [ATA] context to following(change allow=alaw), I can make calls through sip-b. But not sip-a. [This is expected and is OK] Here the * only send ulaw in its Session In progress request to ATA. * do not list g729 in its request to '*'. Then ATA switches to the correct codec and start sending rtp packets correctly. [ATA] ..... canreinvite=no disallow=all allow=ulaw My point now is if * can send only the negotiated codec from sip-a or sip-b then the ATA will act correctly. But when I configure for both coders, as below, [ATA] ..... canreinvite=no disallow=all allow=g729 allow=ulaw asterisk misbehaves, by sending both ulaw and g729 in the request to the ATA and '*' gets confused by it self and drop the call. Also I have noticed that allow order given in the [ATA] context have no effect. Example, if I change context to have the following order, I expect * to atleast send the request in the order it is shown in the context. But it always, send the request to ATA in the order, g729 and then ulaw. I do not understand where '*' is deciding the order of the coders to send. Ex. [ATA] ..... canreinvite=no disallow=all allow=ulaw allow=g729 I think sip-a, sip-b and ATA is acting correctly, but '*' do not have a way to configure the codec negotiation (There is but misbehave??). If we users can agree, on this and if it is a requirement for us, should we be able to file a bug-report? or send a request to the developers?? Lets talk? I am willing to participate in any test that needs to be carried out. Thanks, SamW _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users
