-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No response from action QueueAdd
#54
Comments
I dont think removing those line is a good idea. You'd rather track the msg and add the right condition |
Hi @open-dynaMIX, we are aware about this problem with the latest version of Asterisk. If you have time to take a trace with tcpdump on port 5038 when you launch this command and share here, it will be easier to fix. |
Hi @gawel and @GMLudo Thanks for your responses! I absolutely agree, that removing those lines is not a fix, but rather a temporary hack for me, to get the functionality I need atm. Here you can find the tcpdump from performing this action in the telnet console: This is the console output:
I hope this helps. Thank you very much for providing this library! |
Hi @open-dynaMIX, I'm in a bus right now, complicated to test. elif msg.lower().startswith('added') and msg.endswith('to queue'):
return True You might have some chance that it will run again automagically ;-) Interested in by your feedback. |
Thank you @GMLudo for the suggestion, but this can't have any effect, because: This is the whole method in master: @property
def multi(self):
resp = self.responses[0]
msg = resp.message.lower()
if resp.subevent == 'Start':
return True
elif 'EventList' in resp and resp['EventList'] == 'start':
return True
elif 'will follow' in msg:
return True
elif msg.startswith('added') and msg.endswith('to queue'):
return True
elif msg.endswith('successfully queued') and self.async != 'false':
return True
elif self.as_list:
return True
return False |
After looking at this it seems to be a bug in multi messaging with In the meantime I suggest you add a condition in @property
def multi(self):
resp = self.responses[0]
msg = resp.message.lower()
if resp.subevent == 'Start':
return True
elif 'EventList' in resp and resp['EventList'] == 'start':
return True
elif 'will follow' in msg:
return True
elif msg == 'added interface to queue':
return False
elif msg.startswith('added') and msg.endswith('to queue'):
return True
elif msg.endswith('successfully queued') and self.async != 'false':
return True
elif self.as_list:
return True
return False |
Thank you @ovv. I can confirm that it's working that way. |
For multi action when at least one response is received from asterisk we do not queue the action for a resend when loosing connection. This fix originate being resent after disconection due to gawel#54
For multi action when at least one response is received from asterisk we do not queue the action for a resend when loosing connection. This fix originate being resent after disconection due to gawel#54
For multi action when at least one response is received from asterisk we do not queue the action for a resend when loosing connection. This fix originate being resent after disconection due to gawel#54
For multi action when at least one response is received from asterisk we do not queue the action for a resend when loosing connection. This fix originate being resent after disconection due to gawel#54
PR has been merged a while ago. I guess this can be closed |
Hi! Finally I was able to test version 1.2 today, but unfortunately the problem seems to persist. Thanks a lot for looking into this! |
Hi |
Looks like it's not |
I'm not working on this project anymore, so I'm not able to help much. But I did get it working with the suggestion from this comment. |
Hi |
Nope, I thought it was fixed with another way in the PR The weird thing is that it seems that there is no ActionID when you send a QueueAdd (when looking at the trace). panoramisk is supposed to always send one to be able to follow responses |
Instead of trying to handle weird/buggy cases, is it ok to add a Means that Another option seem to use the |
It seems to me you shouldn’t be including events as part of the response to an action. I think if you tell Asterisk that you don’t want events on the connection, then you won’t get them anyway. So, to me, that initial proposed fix seems right: Events should be handled separately, independent of responses to actions. Because remember, you can get events that are triggered by actions requested by other clients of the same Asterisk server. |
When sending the action
QueueAdd
I get no response and it just hangs.I was able to fix this with overriding
Action
and removing the lines 64 & 65:from
def multi()
.I'm not sure, if this breaks other functionality though.
Asterisk 13.16.0
The text was updated successfully, but these errors were encountered: