I am trying to muddle my way tthrough getting something - actually anything to work - with Asterisk. I've acquired a Grandstream phone and I've got * on a Red Hat 9 box. I've gotten to a point where I can see (via ethereal) that the phone REGISTER's successfully with asterisk, and then I try to dial into voicemail. This is what I observe in the packet trace... GS: INVITE -> * *: Status 100 (Trying) -> GS *: Status 200 (OK with session description) -> GS So far, seems reasonable - but I'm a complete novice with this protocol. Then I see a huge stream of UDP packets sent by * to the GS on port 5004, but the GS only replies with an ICMP destination unreachable to each packet. I'm guessing that this is an RTP audio stream, but I don't know why the GS is not ready or otherwise unwilling to receive the packets. Examining the GS config, I've confirmed that the "local RTP port" is set to 5004. I have many questions about how this should work, but I'll save some bandwidth and leave it to someone here to suggest what should be checked next. Thanks. -- Bill Michaelson - COS, Incorporated - Software Development - bill@cosi.com Thanks for putting up with my spam filter!
Please include your sip.conf and extension.conf files. Hard to say what is wrong without seeing the configuration ----- Original Message ----- From: "Bill Michaelson" <bill@cosi.com> To: <asterisk-users@lists.digium.com> Sent: Monday, February 09, 2004 3:15 PM Subject: [Asterisk-Users] asterisk-grandstream call> I am trying to muddle my way tthrough getting something - actually > anything to work - with Asterisk. I've acquired a Grandstream phone and > I've got * on a Red Hat 9 box. I've gotten to a point where I can see > (via ethereal) that the phone REGISTER's successfully with asterisk, and > then I try to dial into voicemail. This is what I observe in the packet > trace... > > GS: INVITE -> * > *: Status 100 (Trying) -> GS > *: Status 200 (OK with session description) -> GS > > So far, seems reasonable - but I'm a complete novice with this protocol. > > Then I see a huge stream of UDP packets sent by * to the GS on port > 5004, but the GS only replies with an ICMP destination unreachable to > each packet. I'm guessing that this is an RTP audio stream, but I don't > know why the GS is not ready or otherwise unwilling to receive the > packets. Examining the GS config, I've confirmed that the "local RTP > port" is set to 5004. > > I have many questions about how this should work, but I'll save some > bandwidth and leave it to someone here to suggest what should be checked > next. > > Thanks. > > -- > Bill Michaelson - COS, Incorporated - Software Development - bill@cosi.com > Thanks for putting up with my spam filter! > > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >
Right - OK - sans comments for brevity: sip.conf: [general] port = 5060
; Port to bind to bindaddr = 0.0.0.0 ; Address to bind to context =
default ; Default for incoming calls [248379] username=billdesk
type=friend host=dynamic canreinvite=no mailbox=1234 context=demo
extensions.conf: [general] static=yes writeprotect=no [globals]
CONSOLE=Console/dsp ; Console interface for demo IAXINFO=guest ; IAXtel
username/password TRUNK=Zap/g2 ; Trunk interface TRUNKMSD=1 ; MSD digits
to strip (usually 1 or 0) [iaxtel700] exten =>
_91700NXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
[iaxprovider] [trunkint] exten =>
_9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_9011.,2,Congestion [trunkld] exten =>
_91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_91NXXNXXXXXX,2,Congestion [trunklocal] exten =>
_9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_9NXXXXXX,2,Congestion [trunktollfree] exten =>
_91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_91800NXXXXXX,2,Congestion exten =>
_91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_91888NXXXXXX,2,Congestion exten =>
_91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_91877NXXXXXX,2,Congestion exten =>
_91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}}) exten =>
_91866NXXXXXX,2,Congestion [international] ignorepat => 9 include =>
longdistance include => trunkint [longdistance] ignorepat => 9 include
=> local include => trunkld [local] ignorepat => 9 include =>
default
include => parkedcalls include => trunklocal include => iaxtel700
include => trunktollfree include => iaxprovider [macro-stdexten]; exten
=> s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum exten
=> s,2,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ u\
navail announce exten => s,3,Goto(default,s,1) ; If they press #, return
to start exten => s,102,Voicemail(b${ARG1}) ; If busy, send to voicemail
w/ busy \ announce exten => s,103,Goto(default,s,1) ; If they press #,
return to start [demo] exten => s,1,Wait,1 ; Wait a second, just for fun
exten => s,2,Answer ; Answer the line exten => s,3,DigitTimeout,5 ; Set
Digit Timeout to 5 seconds exten => s,4,ResponseTimeout,10 ; Set
Response Timeout to 10 seconds exten => s,5,BackGround(demo-congrats) ;
Play a congratulatory message exten => s,6,BackGround(demo-instruct) ;
Play some instructions exten => 2,1,BackGround(demo-moreinfo) ; Give
some more information. exten => 2,2,Goto(s,6) exten =>
3,1,SetLanguage(fr) ; Set language to french exten => 3,2,Goto(s,5) ;
Start with the congratulations exten => 1000,1,Goto(default,s,1) exten
=> 1234,1,Playback(transfer,skip) ; "Please hold while..." ; (but
skip
if channel is not up) exten => 1234,2,Macro(stdexten,1234,${CONSOLE})
exten => 1235,1,Voicemail(u1234) ; Right to voicemail exten =>
1236,1,Dial(Console/dsp) ; Ring forever exten => 1236,2,Voicemail(u1234)
; Unless busy exten => #,1,Playback(demo-thanks) ; "Thanks for trying
the demo" exten => #,2,Hangup ; Hang them up. exten => t,1,Goto(#,1)
;
If they take too long, give up exten => i,1,Playback(invalid) ;
"That's
not valid, try again" exten => 500,1,Playback(demo-abouttotry); Let them
know what's going on exten =>
500,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the Asterisk
de\ mo exten => 500,3,Playback(demo-nogo) ; Couldn't connect to the demo
site exten => 500,4,Goto(s,6) ; Return to the start over message. exten
=> 600,1,Playback(demo-echotest) ; Let them know what's going on exten
=> 600,2,Echo ; Do the echo test exten => 600,3,Playback(demo-echodone)
; Let them know it's over exten => 600,4,Goto(s,6) ; Start over exten
=>
8500,1,VoicemailMain exten => 8500,2,Goto(s,6) [default] include => demo
From: "Glenn Dalgliesh" <asterisk@techhat.com> To:
<asterisk-users@lists.digium.com> Subject: Re: [Asterisk-Users]
asterisk-grandstream call Date: Mon, 9 Feb 2004 15:27:55 -0500 Reply-To:
asterisk-users@lists.digium.com Please include your sip.conf and
extension.conf files. Hard to say what is wrong without seeing the
configuration ----- Original Message ----- From: "Bill Michaelson"
<bill@cosi.com> To: <asterisk-users@lists.digium.com> Sent: Monday,
February 09, 2004 3:15 PM Subject: [Asterisk-Users] asterisk-grandstream
call
>> I am trying to muddle my way tthrough getting something - actually
>> anything to work - with Asterisk. I've acquired a Grandstream
phone and
>> I've got * on a Red Hat 9 box. I've gotten to a point where I
can see
>> (via ethereal) that the phone REGISTER's successfully with
asterisk, and
>> then I try to dial into voicemail. This is what I observe in the
packet
>> trace...
>>
>> GS: INVITE -> *
>> *: Status 100 (Trying) -> GS
>> *: Status 200 (OK with session description) -> GS
>>
>> So far, seems reasonable - but I'm a complete novice with this
protocol.
>>
>> Then I see a huge stream of UDP packets sent by * to the GS on port
>> 5004, but the GS only replies with an ICMP destination unreachable to
>> each packet. I'm guessing that this is an RTP audio stream, but I
don't
>> know why the GS is not ready or otherwise unwilling to receive the
>> packets. Examining the GS config, I've confirmed that the
"local RTP
>> port" is set to 5004.
>>
>> I have many questions about how this should work, but I'll save
some
>> bandwidth and leave it to someone here to suggest what should be
checked
>> next.
>>
>>
>
Arg.. my posting was mangled by text-wrapping. Sorry.
Here again...
sip.conf:
[general]
port = 5060 ; Port to bind to
bindaddr = 0.0.0.0 ; Address to bind to
context = default ; Default for incoming calls
[248379]
username=billdesk
type=friend
host=dynamic
canreinvite=no
mailbox=1234
context=demo
extensions.conf:
[general]
static=yes
writeprotect=no
[globals]
CONSOLE=Console/dsp ; Console interface for demo
IAXINFO=guest ; IAXtel username/password
TRUNK=Zap/g2 ; Trunk interface
TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
[iaxtel700]
exten => _91700NXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)
[iaxprovider]
[trunkint]
exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9011.,2,Congestion
[trunkld]
exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91NXXNXXXXXX,2,Congestion
[trunklocal]
exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _9NXXXXXX,2,Congestion
[trunktollfree]
exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91800NXXXXXX,2,Congestion
exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91888NXXXXXX,2,Congestion
exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91877NXXXXXX,2,Congestion
exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
exten => _91866NXXXXXX,2,Congestion
[international]
ignorepat => 9
include => longdistance
include => trunkint
[longdistance]
ignorepat => 9
include => local
include => trunkld
[local]
ignorepat => 9
include => default
include => parkedcalls
include => trunklocal
include => iaxtel700
include => trunktollfree
include => iaxprovider
[macro-stdexten];
exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds
maxi\
mum
exten => s,2,Voicemail(u${ARG1}) ; If unavailable, send to voicemail
w\
/ unavail announce
exten => s,3,Goto(default,s,1) ; If they press #, return to
start
exten => s,102,Voicemail(b${ARG1}) ; If busy, send to voicemail w/
bu\
sy announce
exten => s,103,Goto(default,s,1) ; If they press #, return to start
[demo]
exten => s,1,Wait,1 ; Wait a second, just for fun
exten => s,2,Answer ; Answer the line
exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
exten => s,5,BackGround(demo-congrats) ; Play a congratulatory message
exten => s,6,BackGround(demo-instruct) ; Play some instructions
exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
exten => 2,2,Goto(s,6)
exten => 3,1,SetLanguage(fr) ; Set language to french
exten => 3,2,Goto(s,5) ; Start with the congratulations
exten => 1000,1,Goto(default,s,1)
exten => 1234,1,Playback(transfer,skip) ; "Please hold
while..."
; (but skip if channel is not up)
exten => 1234,2,Macro(stdexten,1234,${CONSOLE})
exten => 1235,1,Voicemail(u1234) ; Right to voicemail
exten => 1236,1,Dial(Console/dsp) ; Ring forever
exten => 1236,2,Voicemail(u1234) ; Unless busy
exten => #,1,Playback(demo-thanks) ; "Thanks for trying the
demo"
exten => #,2,Hangup ; Hang them up.
exten => t,1,Goto(#,1) ; If they take too long, give up
exten => i,1,Playback(invalid) ; "That's not valid, try
again"
exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the
Asterisk\
demo
exten => 500,3,Playback(demo-nogo) ; Couldn't connect to the demo site
exten => 500,4,Goto(s,6) ; Return to the start over message.
exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
exten => 600,2,Echo ; Do the echo test
exten => 600,3,Playback(demo-echodone) ; Let them know it's over
exten => 600,4,Goto(s,6) ; Start over
exten => 8500,1,VoicemailMain
exten => 8500,2,Goto(s,6)
[default]
include => demo
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.digium.com/pipermail/asterisk-users/attachments/20040209/41d3ae19/attachment.htm
Hi Bill, Your problem seems to be a codec negotiation issue, I think you need to specify for each SIP peer: disallow=all allow=alaw allow=ulaw ; and any others that you might need Paul> ----- Original Message ----- > From: Bill Michaelson > To: asterisk-users@lists.digium.com > Sent: Tuesday, February 10, 2004 9:26 AM > Subject: Re: [Asterisk-Users] asterisk-grandstream call > > > Arg.. my posting was mangled by text-wrapping. Sorry. > > Here again... > sip.conf: > > [general] > port = 5060 ; Port to bind to > bindaddr = 0.0.0.0 ; Address to bind to > context = default ; Default for incoming calls > [248379] > username=billdesk > type=friend > host=dynamic > canreinvite=no > mailbox=1234 > context=demo
Bill Michaelson <bill@cosi.com> wrote:>I am trying to muddle my way tthrough getting something - actually >anything to work - with Asterisk. I've acquired a Grandstream phone and >I've got * on a Red Hat 9 box. I've gotten to a point where I can see >(via ethereal) that the phone REGISTER's successfully with asterisk, and >then I try to dial into voicemail. This is what I observe in the packet >trace... > >GS: INVITE -> * >*: Status 100 (Trying) -> GS >*: Status 200 (OK with session description) -> GSDoes the GS then send an ACK? It should. If it doesn't then this probably means that it hasn't received the 200 response. (firewall issue?) If it is sending the ACK, then it is probably a codec issue, as has been already mentioned. GS doesn't always seem to do very well in codec selection. Doug -- Doug Meredith (doug.meredith@systemguard.com) SystemGuard - Oracle remote support 877-974-8273 (87-SYSGUARD) 506-854-7997 www.systemguard.com
>>I am trying to muddle my way tthrough getting something - actually >>anything to work - with Asterisk. I've acquired a Grandstream phone and >>I've got * on a Red Hat 9 box. I've gotten to a point where I can see >>(via ethereal) that the phone REGISTER's successfully with asterisk, and >>then I try to dial into voicemail. This is what I observe in the packet >>trace... >> >>GS: INVITE -> * >>*: Status 100 (Trying) -> GS >>*: Status 200 (OK with session description) -> GS > >Does the GS then send an ACK? It should. If it doesn't then this probably means that it hasn't received the 200 response. (firewall issue?) If it is sending the ACK, then it is probably a codec issue, as has been already mentioned. GS doesn't always seem to do very well in codec selection. Doug ------------------------- Thanks for that hint. I see what you mean. When configured for FWD, the GS does indeed send an ACK at an equivalent point in the protocol. But no, the GS does not send an ACK when configured for my * box. I suppose the * box is expecting it, because about one second later, the * box resends the 200 message - this in spite of the fact that has started spewing RTP furiously. Both devices are on the same LAN, with no intervening firewall, and the OK ought to be visible to the GS (the packet even contains the expected destination MAC ID, derived earlier via ARP). That makes two mysteries: 1) why doesn't the GS seem to see the OK? and 2) why does * send the RTP stream in spite of the fact that it has not received the ACK from the GS? Shouldn't it wait? Regarding codec selection, I see a minor difference between the FWD and the local * box test cases, but I know nothing about the negotiation protocol... With FWD, the OK message lists 3 Media Formats: Media Description, name and address (m): audio 10496 RTP/AVP 0 8 101 Media Type: audio Media Port: 10496 Media Proto: RTP/AVP Media Format: 0 Media Format: 8 Media Format: 101 Media Attribute (a): rtpmap:0 PCMU/8000 Media Attribute (a): rtpmap:8 PCMA/8000 Media Attribute (a): rtpmap:101 telephone-event/8000 Media Attribute (a): fmtp:101 0-16 But with the local box, it lists one other - note the addition of GSM... Media Description, name and address (m): audio 16708 RTP/AVP 3 0 8 101 Media Type: audio Media Port: 16708 Media Proto: RTP/AVP Media Format: 3 Media Format: 0 Media Format: 8 Media Format: 101 Media Attribute (a): rtpmap:3 GSM/8000 Media Attribute (a): rtpmap:0 PCMU/8000 Media Attribute (a): rtpmap:8 PCMA/8000 Media Attribute (a): rtpmap:101 telephone-event/8000 Media Attribute (a): fmtp:101 0-16 Don't see much else different in the packets. It might also be relevant that the FWD connection, which works successfully, is through a firewall with NAT. Still fishing... thanks for your attention - much appreciate not being alone here! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20040210/58e417ec/attachment.htm