[Home]

Summary:ASTERISK-12659: Not able to put call on hold
Reporter:sujit (sujit)Labels:
Date Opened:2008-08-28 21:47:22Date Closed:2011-06-07 14:07:59
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_transfer
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) ASTERISK_CALL_HOLD.rar
( 1) SUCCESS_CALL_HOLD.rar
Description:Hi there,
I have registered my asterisk box as SIP client to 3rd party live SIP server and registered a FXS number.
I can make incoming call to the number from my mobile and outgoing call from the number to my mobile successfully.
But I can not put call oh hold from . Please help.

Thanks in advance.

~Sujit Das


===============
extensions.conf
===============
;
;DO NOT MODIFY, FILE AUTOMATICALLY GENERATED BY SCRIPT configure_asterisk
;
globals ;Sujit

general
static=yes
writeprotect=no
;autofallthrough=yes ;Sujit

default
include => phones
include => parkedcalls

;sujit - start

phones ; sujit
include => internal ; sujit
include => remote ; sujit


internal
;exten => _1XX,1,NoOp()
;exten => _1XX,n,Macro(stdexten, SIP/${EXTEN},30)
;exten => _1XX,n,Playback(the-number-is-unavail)
;exten => _1XX,n,Hangup()

remote
;exten => _7XX,1,NoOp()
;exten => _7XX,n,Macro(stdexten,SIP/${EXTEN}@192.168.2.200)
;exten => _7XX,n,Hangup()


;exten => _X.,1,NoOp()
;exten => _X.,n,Macro(stdexten,SIP/${EXTEN}@my-singtel-server,30,tr)
;exten => _X.,n,Hangup()

exten => _9XXXXXXXX,1,NoOp()
exten => _9XXXXXXXX,n,Dial(SIP/${EXTEN:1}@my-singtel-server,30,tr)
exten => _9XXXXXXXC,n,Hangup()

;exten => _9XXXXXXX,n,Macro(stdexten,SIP/${EXTEN}@my-singtel-server)
;exten => _9XXXXXXX,n,Hangup()



;AsteriskSER_incoming ; sujit
;exten => 101,1,NoOp()
;exten => 101,n,Macro(stdexten,MSPD/phone0,,101)

;exten => 102,1,NoOp()
;exten => 102,n,Macro(stdexten,MSPD/phone1,,102)

;exten => 103,1,NoOp()
;exten => 103,n,Macro(stdexten,MSPD/phone2,,103)

;exten => 104,1,NoOp()
;exten => 104,n,Macro(stdexten,MSPD/phone3,,104)


;sujit - end




;connecting to other network which has 1XX numbers thru SIP protocol
;A.B.C.D is IP-Address of other board
;replace A.B.C.D and reload configuration files
;exten => _4xx,1,Macro(stdexten,SIP/${EXTEN}@A.B.C.D,,401)
;connecting to other network which has 2XX numbers thru SIP protocol
exten => _5xx,1,Macro(stdexten,SIP/${EXTEN}@A.B.C.D,,401)
exten => 101,1,Macro(stdexten,MSPD/phone0,,101)
exten => AAAAAAAA,1,Macro(stdexten,MSPD/phone1,,AAAAAAAA)

exten => 104,1,Macro(stdexten,MSPD/phone3,,104)


exten => 202,1,Macro(stdexten,SIP/202,,202)
exten => 203,1,Macro(stdexten,SIP/203,,203)
exten => 204,1,Macro(stdexten,SIP/204,,204)

exten => s,1,GotoIf($${LEN(${ARG3})} > 0?4)
exten => s,2,SetVar(VMBOX=${MACRO_EXTEN})
exten => s,3,Goto(5)
exten => s,4,SetVar(VMBOX=${ARG3})
exten => s,5,Dial(${ARG1},20,t${ARG2})
exten => s,6,Goto(s-${DIALSTATUS},1)
exten => s-ANSWER,1,Hangup
exten => s-BUSY,1,Voicemail(b${VMBOX})
exten => s-BUSY,2,Hangup
exten => _s-.,1,Voicemail(u${VMBOX})
exten => _s-.,2,Hangup


exten => 1234,1,VoiceMailMain()
exten => 1234,1,NoOp(${EXTEN})
exten => 1234,2,NoOp(${MACRO_EXTEN})
exten => 1234,3,Hangup()


macro-stdexten
exten => s, 1, Dial(${ARG1}, 25, tT)
exten => s, 2, SetVar(VMBOX=${MACRO_EXTEN})
exten => s, 3, NoOp(${MACRO_EXTEN})
exten => s, 4, NoOp(${VMBOX})
exten => s, 5, Goto(s-${DIALSTATUS},1)
;exten => s-ANSWER,1,Hangup ; sujit
exten => s-ANSWER,1,Goto(1) ; sujit
exten => s-BUSY,1,Voicemail(b${VMBOX})
;exten => s-BUSY,2,Hangup ; sujit
exten => s-BUSY,2,Goto(1) ; sujit
;exten => _s-.,1,Voicemail(u${VMBOX})
exten => _s-.,1,Goto(1) ; sujit
;exten => _s-.,2,Hangup ; sujit
exten => _s-.,2,Goto(1) ; sujit

  1. exten => s, 2, Goto(s, 102)
  2. exten => s, 102, Playback(vm-nobodyavail)
  3. exten => s, 103, Hangup()



=================
sip.conf
=================
;
;DO NOT MODIFY, FILE AUTOMATICALLY GENERATED BY SCRIPT configure_asterisk
;

general
CONTEXt=default ; Default context for incoming calls
bindport=5060 ; UDP Port to bind to (SIP standard port is 5060)
bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
srvlookup=yes ; Enable DNS SRV lookups on outbound calls
disallow=all
allow=ulaw,alaw,g729 ;also defines preference
dtmfmode=rfc2833
tos=0x10
defaultexpiry=3600 ;added by Sujit default registration expiry timer



register => AAAAAAAA:XXXXXXXXX@203.126.17.242:5060/AAAAAAAA ;register to external sip server





my-singtel-server
username=AAAAAAAA
type=friend
secret=XXXXXXXXX
host=203.126.17.242
fromuser=AAAAAAAA
fromdomain=203.126.17.242
dtmfmode=rfc2833
auth=md5
canreinvite=yes ;no
insecure=very
qualify=yes
nat=no
disallow=all
allow=gsm
allow=ulaw
allow=alaw


2345
type=peer
context=default ; Where to start in the dialplan when this phone calls
username=2345; SIP username for registration
secret=2345; SIP password for registration
host=dynamic ; Sip phone has a dynamic IP address
canreinvite=yes ; allow RTP voice traffic to bypass Asterisk
insecure=invite

202
type=friend
context=default
username=202
secret=202
callerid=202
host=dynamic
canreinvite=no

203
type=friend
context=default
username=203
secret=203
callerid=203
host=dynamic
canreinvite=no

204
type=friend
context=default
username=204
secret=204
callerid=204
host=dynamic
canreinvite=no
Comments:By: Leif Madsen (lmadsen) 2008-08-29 07:37:00

Can you please elaborate as to what you're actually doing? You've said you're registering your Asterisk box to another server, and have an FXS number (I'm pretty sure you mean FXO for a phone line).

You make an incoming call to the phone line, and an outgoing call to the phone line, but can't put the call on hold -- what is it exactly you are doing to place the call on hold?

Are you calling from/to a phone on your third party PBX? Is that the phone that is placing the call on hold?

When you put the call on hold, what happens?

Please provide a SIP trace from the Asterisk box, along with the console output, in addition to the SIP history in order to move this along.

My instinct is that your 3rd party SIP server is not passing back the information to Asterisk in order to actually put the call on hold, and if this is the case, is a configuration issue and not a bug.

Thanks!
Leif.

By: sujit (sujit) 2008-09-01 05:46:32

Hi Leif,
 Thanks for your reply. I am using board from vendor MindSpeed, In the board, 1 FXO, 4 FXS,  4 LAN, 1 WAN port are present. I have connected
PSTN phone to the FXS port, which has number AAAAAAAA, and register to the SingTel live SIP server 203.126.17.242, and the number is registered successfully. As a result I can make incoming call from my mobile to the FXS number  and outgoing call to my mobile from the FXS number successfully.

Now  I am not able to put the outgoing call (to my mobile) on  hold. Please find the attached log for call hold.
In log, when hook-flash is pressed for putting the call on hold  no SIP reINVITE
is going from the broad to server though the hook-flash event is recognized which is clear from the log.


For the expected behavior for call hold please find the attached console and
ethereal log of testing carried out on other vendor's board. As a expected
behavior, when a outgoing call (B-party) is put on hold by pressing hook-flash,
server will play music on-hold to the B-party (see play RTP packets in the
ethereal log) and pressing hook-flash again, FXS will be able to talk to
B-party.

Please advise on this issue and let us know if any other information is
required.

~Sujit

By: sujit (sujit) 2008-09-01 05:49:31

Hi Leif,
ASTERISK_CALL_HOLD.rar --> asterisk call hold logs
SUCCESS_CALL_HOLD.rar  --> successful/expected  call hold logs for different vendor but same setup

Thanks !
~Sujit

By: Leif Madsen (lmadsen) 2008-09-02 09:27:16

Can you reproduce this with Asterisk 1.4.x? The code between 1.2.x and 1.4.x I believe is quite different, and 1.2.x is end-of-life.

I should have mentioned that right off the bat as well, but didn't notice you're using Asterisk 1.2.x.

By: Tilghman Lesher (tilghman) 2008-11-14 12:15:10.000-0600

No response from reporter.  Also, as blitzrage said, 1.2 is at end of life, so we wouldn't be up for fixing any bugs in that release series, anyway.