Question about NOTIFY

  1. When caller sends a NOTIFY message to callee, caller received 200OK from *. * doesn’t forward NOTIFY to callee.

  2. I changed the configuration of extensions.conf as the following

exten => 100,1,Dial(SIP/phone0,60)
exten => 100,2,Notify(000,phone0, IP:port)
exten => 100,3,Hangup()

Where the Notify message will be shown from 2)? How can I get the phone number, username and IP from the Notify? I can’t find it by ethereal upon the message transfering.

Thx!

you seem to have 2 threads going here about the same thing, but you haven’t made it clear what it is you’re trying to do. bridge 2 endpoints together to remove Asterisk from the media stream, or send text messages to each other ?

is this app_notify from mezzo.net/asterisk/ ? if so, isn’t that for call call-popups on a workstation ?

OK. Here is my issue.

caller calls callee, callee send voice mail to caller to ask caller to make a choice by punch the number on phone pad. caller makes a choice by punching the number on phone pad. caller receives the number callee dials.

By example,
caller calls
callee’s voice mail sent to caller : " Please make your choice by punching the phone pad, followed by # key. If you want to talk with operator, please dial 0. If you want to leave a message, please dial 1. etc"
caller make a choice by dialing 0
callee receives the number 0. Phone rings. Communication begins.

My question is how caller knows what number callee dials. Then I’m thinking about two methods. Maybe I’m wrong.

    • forwards the message with the number 0 in some format
      2)caller and callee get the IP address of each other, message of dialing number sent directly to each other with MESSAGE format.

Thanks for your help!

woah … way over-complicated :open_mouth: and you seem to be mixing up callee and caller. and i’m slightly confused as to why the callee needs to know what number was pressed if the options are e.g. 1 to leave VM, 0 to speak to operator. but anyway …

you can acheive this with a simple IVR like :

[inbound] exten => s,1,Answer() exten => s,2,Set(LOOPED=1) exten => s,3,GotoIf($[${LOOPED} > 2]?hang,1) exten => s,4,Set(TIMEOUT(digit)=3) exten => s,5,Set(TIMEOUT(response)=7) exten => s,6,Background(main-greeting) exten => 0,1,Dial(SIP/100|30|A(caller-pressed-zero)) exten => 1,1,VoiceMail(100|ug(5)) exten => 2,1,VoiceMail(101|ug(5)) exten => 3,1,Dial(SIP/103|30|A(caller-pressed-three)) exten => 9,1,Goto(s,2); press 9 to repeat message exten => h,1,Hangup() exten => hang,1,Playback(vm-goodbye) exten => hang,2,Hangup() exten => i,1,Playback(invalid) exten => i,2,Goto(s,2) exten => t,1,Set(LOOPED=$[${LOOPED} + 1]) exten => t,2,Goto(s,3) exten => o,1,Goto(s,2) exten => a,1,Goto(hang,1)

you’ll need to record a few sound files that the Dial() statements 'A’nnounce before bridging.

Thanks a lot! :smile:

I still have some confusing here.

  1. exten => 0,1,Dial(SIP/100|30|A(caller-pressed-zero))

caller(phone1) needs to dial 100 to call callee(phone0). 100 is the phone number of callee(phone0). Does “SIP/100” above shows how to call 100? I think 100 of “SIP/100” here means the user name, not the dialing number. Am I wrong? ‘A’ is the path of the announcement. Right?

  1. exten => 1,1,VoiceMail(100|ug(5))
    exten => 2,1,VoiceMail(101|ug(5))

What do 100 and ug(5) here mean?

Thx! :smile:

My another confusing is

In this case, * need have to record the announcement. If I want the user to record its own announcment to regular what ‘0’ will do, what ‘1’ will do, how can that work?

Thx!

i just used 100 as an example, and yes, i think from your earlier post, you’ll use phone0 as the destination.

in VoiceMail ‘u’ means ‘play the unavailable message’ and g(5) means ‘add 5db of gain when recording the voicemail’

make yourself familiar with the CLI, e.g. CLI > show application VoiceMail … it’s amazing what you can find.

Thanks for your fast reply! :smile:

I will take a look of CLI.

Really appreciate your help! :smile:

oops. Forgot to ask, if I want the phone number of phone0 is 100, what should I do in the above case? Thx!

not sure what you mean. if you’re expecting the caller to enter a 3-digit number, then you can’t use Background and will need to use use Playback() and Read().

sorry for the confusing. Here is what I want

phone1 dials 100 (100 is the phone number of phone0)
anouncment of "Please make a choice. Press 0 to talk with phone0. Press 1 to leave a message. Press 9 to hangup."
phone1 dials 0
telephone of phone0 rings.
phone1 and phone0 talks.

What I want pecifically is to let phone0 to record his own announcement, not * to record it. And let phone0 to make the judgement of what choice phone1 makes. Is there a way to do that? Thanks!

[quote=“lesroches”]phone1 dials 100 (100 is the phone number of phone0)
anouncment of "Please make a choice. Press 0 to talk with phone0. Press 1 to leave a message. Press 9 to hangup."
phone1 dials 0
telephone of phone0 rings.
phone1 and phone0 talks.[/quote] sounds like a normal IVR as detailed above.

[quote=“lesroches”]What I want pecifically is to let phone0 to record his own announcement, not * to record it.[/quote] as i said in the reply to the PM, use the Record() application to let the user of phone0 record their own message.

[quote=“lesroches”]And let phone0 to make the judgement of what choice phone1 makes.[/quote] this is where we come unstuck. what judgement is there to make ? if they select to go to VM, what is the user of phone0 going to do. or if they choose to hangup, what’s phone0 wanting to do ? or are you trying to inform phone0 that phone1 called, but chose to leave a VM (i’m hoping your phone would handle that !) or chose to hangup.

But if different user records different announcement, the configuration of * needs to be changed. Such as

[phone0]
“Please press 0 to talk with operator. Please press 1 to leave a message. Press 2 to hang up.”

[phone1]
“Please press 1 to talk with operator. Please press 0 to leave a message. Press 2 to hang up.”

Then the configuration of * needs to be changed manually by different announcement. I want to keep the configuration of * standard and simple, let user to make it. Sorry for the confusing.

ok, now (and with the PMs) i see where you’re going. that’s a limitation i guess. you could overcome it with some dialplan trickery and use of a db or ASTDB, but not sure the return is worth the effort.

as i said in the PM back, if you are only going to offer “speak to me”, “leave a message” and “hangup” then the VoiceMail application, along with the ‘a’ and ‘o’ extensions, will suffice without the need to create an IVR. users can then call into VoiceMailMain to change their greeting.

Right.

I think that’s what I need. I used to check on that, but not found the useful inform I need. I guess I didn’t get the right doc. I will google on that. Could you give me some hint on that? Or what doc? Thx! :smile:

“where do we look, where do we look ?”
“in the book, in the book, in little cooks book.”

voip-info.org/tiki-index.php … +VoiceMail

whenever you need to find info about an Asterisk application or function, it’s always the wiki first.

Thanks! :smile:

yeah thanks! this has helped me also! :smile: