Skip to content
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

Offhook / OnHook, not hanging up (force ast_hangup) #35

Closed
dkgroot opened this issue Feb 8, 2013 · 9 comments
Closed

Offhook / OnHook, not hanging up (force ast_hangup) #35

dkgroot opened this issue Feb 8, 2013 · 9 comments

Comments

@dkgroot
Copy link
Member

dkgroot commented Feb 8, 2013

Reported by: Derek Ivy
Date: Fri - 8 Feb 2013
Mail: "Latest Trunk (4216) Broken with Asterisk 11"

You (Marcello) changed sccp_wrapper_asterisk_requestHangup
"sending hard hangup" section:
from
ast_hangup(ast_channel);
to
ast_queue_hangup(ast_channel);

Issue is fixed when moving back to ast_hangup(ast_channel).

For which issue did you replace the ast_hangup with ast_queue_hangup. Can we resolve this later issue in another way ? Could we use a sccp_wrapper_asterisk_forceHangup call at that location ?

@marcelloceschia
Copy link
Collaborator

Aber damit hast du die issues die Bob geschrieben hat!

@dkgroot
Copy link
Member Author

dkgroot commented Feb 8, 2013

In welcher mail von bob (sind immer 1000den vom ihm) [date/subject ?].

Was ist der losung.
ast_channel ohne ast_pbx sollte so weit ich weiss mit ein ast_hangup auf gehangt werden. Ist bei bob schon ein pbx gestarted ?

@marcelloceschia
Copy link
Collaborator

ja, siehe sein log

@dkgroot
Copy link
Member Author

dkgroot commented Feb 8, 2013

Du meinst das riesen ding ? Dadrauf hatt ich eigentlich keine lust.

Was war dein befund ? Von wo aus (im code) rust er den pbx(hangup) an ? Konnen wir da ein PBX(forceHangup)(queued) raus machen ?

Oder mussen wir die andere stelle, finden und anpassen (new call ohne nummer ein zu geben ->hangup. Weis nicht genau wie ich dies umschreiben soll) ?

@dkgroot
Copy link
Member Author

dkgroot commented Feb 9, 2013

Wurde dies das fixen ?

Added pbx_channel_pbx(ast_channel)

Diederik

Index: pbx_impl/ast/ast.c

--- pbx_impl/ast/ast.c (revision 4218)
+++ pbx_impl/ast/ast.c (working copy)
@@ -507,7 +507,7 @@
#else
pbx_channel_setwhentohangup_tv(ast_channel, ast_tvnow());
#endif
-// ast_channel->_state=AST_STATE_DOWN;
+// ast_channel->_state=AST_STATE_DOWN;
ast_queue_hangup(ast_channel);
break;
}
@@ -551,7 +551,7 @@
}
sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send ast_softhangup_nolock (blocker: %s)\n", pbx_channel_name(ast_channel), pbx_channel_blockproc(ast_channel));
ast_softhangup_nolock(ast_channel, AST_SOFTHANGUP_DEV);

  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel)) {

  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel) || pbx_channel_pbx(ast_channel)) {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send ast_queue_hangup\n", pbx_channel_name(ast_channel));
    #if ASTERISK_VERSION_NUMBER < 10601
    pbx_channel_setwhentohangup_tv(ast_channel, 0);
    @@ -561,8 +561,8 @@
    ast_queue_hangup(ast_channel);
    } else {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send hard ast_hangup\n", pbx_channel_name(ast_channel));
    -// ast_hangup(ast_channel);

  •    ast_queue_hangup(ast_channel);
    
  •    ast_hangup(ast_channel);
    

    +// ast_queue_hangup(ast_channel);
    }

    sccp_channel = sccp_channel ? sccp_channel_release(sccp_channel) : NULL;

Ooh das geht anscheinend nicht so gut mit ein diff !

@marcelloceschia
Copy link
Collaborator

probieren

Am Samstag, 9. Februar 2013, 05:08:04 schrieb Diederik de Groot:

Wurde dies das fixen ?

Added pbx_channel_pbx(ast_channel)

Diederik

Index: pbx_impl/ast/ast.c

--- pbx_impl/ast/ast.c (revision 4218)
+++ pbx_impl/ast/ast.c (working copy)
@@ -507,7 +507,7 @@
#else
pbx_channel_setwhentohangup_tv(ast_channel, ast_tvnow());
#endif
-// ast_channel->_state=AST_STATE_DOWN;
+// ast_channel->_state=AST_STATE_DOWN;
ast_queue_hangup(ast_channel);
break;
}
@@ -551,7 +551,7 @@
}
sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send ast_softhangup_nolock (blocker: %s)\n", pbx_channel_name(ast_channel), pbx_channel_blockproc(ast_channel));
ast_softhangup_nolock(ast_channel, AST_SOFTHANGUP_DEV);

  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel)) {

  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel) || pbx_channel_pbx(ast_channel)) {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send ast_queue_hangup\n", pbx_channel_name(ast_channel));
    #if ASTERISK_VERSION_NUMBER < 10601
    pbx_channel_setwhentohangup_tv(ast_channel, 0);
    @@ -561,8 +561,8 @@
    ast_queue_hangup(ast_channel);
    } else {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send hard ast_hangup\n", pbx_channel_name(ast_channel));
    -// ast_hangup(ast_channel);

  •    ast_queue_hangup(ast_channel);
    
  •    ast_hangup(ast_channel);
    

    +// ast_queue_hangup(ast_channel);
    }

    sccp_channel = sccp_channel ? sccp_channel_release(sccp_channel) : NULL;


Reply to this email directly or view it on GitHub:
#35 (comment)

@dkgroot
Copy link
Member Author

dkgroot commented Feb 9, 2013

Pickup / Hangup Funktioniert hier naturlich wieder normal.

Die frage ist, wie ich der andere situation nach stellen kann. Weist du
ganau wie ich/du das reproduzieren kannst ? Oder mussen wir dafur
leonid/bob fragen ?

Diederik

On 02/09/2013 02:12 PM, marcelloceschia wrote:

probieren

Am Samstag, 9. Februar 2013, 05:08:04 schrieb Diederik de Groot:

Wurde dies das fixen ?

Added pbx_channel_pbx(ast_channel)

Diederik

Index: pbx_impl/ast/ast.c

--- pbx_impl/ast/ast.c (revision 4218)
+++ pbx_impl/ast/ast.c (working copy)
@@ -507,7 +507,7 @@
#else
pbx_channel_setwhentohangup_tv(ast_channel, ast_tvnow());
#endif
-// ast_channel->_state=AST_STATE_DOWN;
+// ast_channel->_state=AST_STATE_DOWN;
ast_queue_hangup(ast_channel);
break;
}
@@ -551,7 +551,7 @@
}
sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send
ast_softhangup_nolock (blocker: %s)\n", pbx_channel_name(ast_channel),
pbx_channel_blockproc(ast_channel));
ast_softhangup_nolock(ast_channel, AST_SOFTHANGUP_DEV);

  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel)) {
  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel) ||
    pbx_channel_pbx(ast_channel)) {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send
    ast_queue_hangup\n", pbx_channel_name(ast_channel));
    #if ASTERISK_VERSION_NUMBER < 10601
    pbx_channel_setwhentohangup_tv(ast_channel, 0);
    @@ -561,8 +561,8 @@
    ast_queue_hangup(ast_channel);
    } else {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send hard
    ast_hangup\n", pbx_channel_name(ast_channel));
    -// ast_hangup(ast_channel);
  • ast_queue_hangup(ast_channel);
  • ast_hangup(ast_channel);
    +// ast_queue_hangup(ast_channel);
    }

sccp_channel = sccp_channel ? sccp_channel_release(sccp_channel) : NULL;


Reply to this email directly or view it on GitHub:

#35 (comment)


Reply to this email directly or view it on GitHub
#35 (comment)..

@marcelloceschia
Copy link
Collaborator

Am Samstag, 9. Februar 2013, 06:17:53 schrieb Diederik de Groot:

Pickup / Hangup Funktioniert hier naturlich wieder normal.

Die frage ist, wie ich der andere situation nach stellen kann. Weist du
ganau wie ich/du das reproduzieren kannst ? Oder mussen wir dafur
leonid/bob fragen ?

nee, weiss ich auch nicht. Müsste ich noch mal das log anschauen.

Diederik

On 02/09/2013 02:12 PM, marcelloceschia wrote:

probieren

Am Samstag, 9. Februar 2013, 05:08:04 schrieb Diederik de Groot:

Wurde dies das fixen ?

Added pbx_channel_pbx(ast_channel)

Diederik

Index: pbx_impl/ast/ast.c

--- pbx_impl/ast/ast.c (revision 4218)
+++ pbx_impl/ast/ast.c (working copy)
@@ -507,7 +507,7 @@
#else
pbx_channel_setwhentohangup_tv(ast_channel, ast_tvnow());
#endif
-// ast_channel->_state=AST_STATE_DOWN;
+// ast_channel->_state=AST_STATE_DOWN;
ast_queue_hangup(ast_channel);
break;
}
@@ -551,7 +551,7 @@
}
sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send
ast_softhangup_nolock (blocker: %s)\n", pbx_channel_name(ast_channel),
pbx_channel_blockproc(ast_channel));
ast_softhangup_nolock(ast_channel, AST_SOFTHANGUP_DEV);

  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel)) {
  • } else if (AST_STATE_UP == pbx_channel_state(ast_channel) ||
    pbx_channel_pbx(ast_channel)) {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send
    ast_queue_hangup\n", pbx_channel_name(ast_channel));
    #if ASTERISK_VERSION_NUMBER < 10601
    pbx_channel_setwhentohangup_tv(ast_channel, 0);
    @@ -561,8 +561,8 @@
    ast_queue_hangup(ast_channel);
    } else {
    sccp_log(DEBUGCAT_CHANNEL) (VERBOSE_PREFIX_3 "%s: send hard
    ast_hangup\n", pbx_channel_name(ast_channel));
    -// ast_hangup(ast_channel);
  • ast_queue_hangup(ast_channel);
  • ast_hangup(ast_channel);
    +// ast_queue_hangup(ast_channel);
    }

sccp_channel = sccp_channel ? sccp_channel_release(sccp_channel) : NULL;


Reply to this email directly or view it on GitHub:

#35 (comment)


Reply to this email directly or view it on GitHub
#35 (comment)..


Reply to this email directly or view it on GitHub:
#35 (comment)

@marcelloceschia
Copy link
Collaborator

fixed with 72d1754

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants