Hi All,
Raphael, thanks alot - worked perfectly.
For those in the list that ever want to do a refer from a python script
after a call has been setup, all you need to do is expose the refer() method
through to the IVR module:
a quick summary follows for those interested:
Ivr.h: add: int refer(const string& target);
Ivr.cpp: add:
int IvrDialog::refer(const string& target)
{
return dlg.refer(target);
}
IvrDialogBase.cpp: add function:
static PyObject*
IvrDialogBase_refer(IvrDialogBase *self, PyObject* args)
{
assert(self->p_dlg);
char* refer_to=0;
if(!PyArg_ParseTuple(args,"s",&refer_to))
return NULL;
if(self->p_dlg->refer(refer_to)){
ERROR("refer failed\n");
return NULL;
}
Py_INCREF(Py_None);
return Py_None;
}
and thats it: recompile sems and the Ivr module and you should able to use
the following in your python script:
self.refer('sip:somehwere(at)somwherelese.com')
Cheers
Jason
On Mon, Jun 2, 2008 at 12:04 PM, Raphael Coeffic <[EMAIL PROTECTED]> wrote:
> Jason Penton wrote:
>
>> I Raphael
>>
>> yes, the call is setup so I understand that I have to use a refer.
>> However, it seems that there is a method for redirect() but not one for
>> refer(). I'm using the python IVR api by the way.
>>
>> Please forget about the redirect() method. It is using a hack which only
> works between 2 SEMS at the end of the route-set (the 2 servers have to be
> reachable from the last proxy using record-routing).
>
> The best thing to do is to expose the AmSipDialog::refer() method to the
> ivr plug-in. I do not know if you are able to do that, but this should be
> quite easy.
>
> -Raphael.
>
> Kind regards
>> Jason
>>
>> On Mon, Jun 2, 2008 at 10:55 AM, Raphael Coeffic <[EMAIL PROTECTED] <mailto:
>> [EMAIL PROTECTED]>> wrote:
>>
>> Jason Penton wrote:
>>
>> Hi Raphael
>>
>> yes, the call is setup from a phone thru SER to SEMS. I now,
>> from SEMS, want to be able to reroute the call to a third
>> party with SEMS being removed from the session?????
>>
>> Ok, i think i understood that. Now the question is: is the call
>> already setup (INVITE, 200 OK, ACK) at the time you want to
>> redirect it?
>> If you want to redirect BEFORE any final reply (>199) has been
>> sent by SEMS, then you can reply the INVITE request with "302
>> Moved temporarily". If you want to redirect AFTER the final reply
>> and ACK, you will have to send a REFER request to the caller.
>>
>> Maybe you could disclose you scenario to us, so that we can give
>> you a better answer.
>>
>> Cheers
>> Raphael.
>>
>> Kind regards
>> Jason
>>
>>
>> On Sat, May 31, 2008 at 11:23 PM, Raphael Coeffic
>> <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:[EMAIL
>> PROTECTED]
>> <mailto:[EMAIL PROTECTED]>>> wrote:
>>
>> Hi Jason,
>>
>> I may not understand your issue, but what about using a simple
>> re-direct answer? If the call is already setup, the only
>> solution
>> is REFER.
>>
>> Cheers,
>> Raphael.
>>
>>
>> On 30.05.2008, at 12:17, "Jason Penton"
>> <[EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>
>> <mailto:[EMAIL PROTECTED]
>> <mailto:[EMAIL PROTECTED]>>>
>>
>> wrote:
>>
>> Hi all,
>>
>> Is there functionality in SEMS to redirect a call without
>> staying in the callpath. It seems that ConnectCallee keeps
>> SEMS in the call path???????
>>
>> Kind regards
>> Jason
>> _______________________________________________
>> Semsdev mailing list
>> [email protected]
>> <mailto:[email protected]>
>> <mailto:[email protected] <mailto:[email protected]>>
>>
>> http://lists.iptel.org/mailman/listinfo/semsdev
>>
>>
>>
>>
>>
>
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev