2009/3/14 Vieri <[email protected]> > > Hi, > > I'd like to implement the following: > > Extension 101 calls 102 but 102 is busy and has no voicemail so 101 is sent > to a custom IVR that says something like "extension $EXTEN is $DIALSTATUS. > Please try again later or dial $CODE now to notify you as soon as $EXTN is > available.". > > So the "notification" part is what I'm trying to figure out. > > The extensions are SIP (but not all have displays) and I would like to do > more than just a sendtext() when the hint of SIP/102 changes. Besides, the > SIP protocol doesn't seem to allow me to query the "real" availability of an > extension
this is not always true as some SIP hardphones can be set to centralize DND status on a server (with so-called Starcodes features) and in this case you don't have to call the hardphone to query it's status, you also can make use of SIPPEER(curcalls) > unless I invite it and ring it (OPTIONS doesn't tell me if DND is set on > the "client's side" - especially on softphones). I don't know if DND is widely implemented in softphones as users might be tempted to simply turn softphone off > > > So what I would prefer to do is a two-step call bridging of 102 (dst) with > 101 (src): > > 1) periodically check via events (until globally-set timeout) via > hints/ExtensionState that both dst and src are "available"/not in use. What would you say if before hanging up, extension 102 would just check if a "call-back-later" request have been left (by extension 101 trough IVR) and use call files to generate requested calls ? This would avoid events handling. > > > 2) when 1) is true then "originate" two simultaneous calls to both dst and > src (or maybe just one call to dst). Upon answered, the originated calls > should say something like "Automatic call bridging service: please wait > while we connect $SRC to $DST". At this point extensions src and dst should > be able to talk. > > I was thinking of making a call file just for extension dst and send it to > a context which Dial()'s extension src. It could happen that extension src > suddenly switches to "uanvailable" or "DND on the client's side" or "busy" > right when the context the dst extension is sent to (via call file) tries to > Dial(SIP/src). In that case, if DIALSTATUS is anything but ANSWERED then the > "Automatic call bridging service" would have to say to extension dst > something like "Sorry, failed to connect. Will try again later". > > Anyway, instead of starting to implement my custom solution, I would like > to know if such a "service" already exists or if someone could share their > thoughts. I know that some legacy PBX already have this but I don't know how > they call it. Usually, when a caller finds a busy destination, they can dial > *6 and the PBX will take care of bridging the two extensions as soon as both > are "free". > > Can Asterisk already do this? Or is there a simple way of implementing it? just a thought : - > > > Thanks, > > Vieri > > > > > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >
_______________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
